<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>ArNetworking: ArServerHandlerCamera Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">ArNetworking
   &#160;<span id="projectnumber">dev20161014</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classArServerHandlerCamera.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-types">Protected Types</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classArServerHandlerCamera-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ArServerHandlerCamera Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Accepts and processes camera pan/tilt/zoom requests from the client, and provides information about the camera (such as its current position).  
 <a href="classArServerHandlerCamera.html#details">More...</a></p>

<p><code>#include &lt;ArServerHandlerCamera.h&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ArServerHandlerCamera:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classArServerHandlerCamera.png" usemap="#ArServerHandlerCamera_map" alt=""/>
  <map id="ArServerHandlerCamera_map" name="ArServerHandlerCamera_map">
<area doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCollectionItem.html" alt="ArCameraCollectionItem" shape="rect" coords="0,0,154,24"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ad2a1481fd494f477c0f4908cbc773ab4"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#ad2a1481fd494f477c0f4908cbc773ab4">addToCameraCollection</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCollection.html">ArCameraCollection</a> &amp;collection)</td></tr>
<tr class="memdesc:ad2a1481fd494f477c0f4908cbc773ab4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds the camera commands to the given collection.  <a href="#ad2a1481fd494f477c0f4908cbc773ab4">More...</a><br /></td></tr>
<tr class="separator:ad2a1481fd494f477c0f4908cbc773ab4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62d84d39d59422be307cfa9ee8ae3114"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a62d84d39d59422be307cfa9ee8ae3114">ArServerHandlerCamera</a> (const char *cameraName, <a class="el" href="classArServerBase.html">ArServerBase</a> *server, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html">ArRobot</a> *robot, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html">ArPTZ</a> *<a class="el" href="classArServerHandlerCamera.html#aff2e0fe4c857ae52b5187e71b514f901">camera</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCollection.html">ArCameraCollection</a> *collection)</td></tr>
<tr class="memdesc:a62d84d39d59422be307cfa9ee8ae3114"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a new handler for the specified camera.  <a href="#a62d84d39d59422be307cfa9ee8ae3114">More...</a><br /></td></tr>
<tr class="separator:a62d84d39d59422be307cfa9ee8ae3114"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28008a201b19aa0a1d7e56055a578636"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a28008a201b19aa0a1d7e56055a578636">ArServerHandlerCamera</a> (<a class="el" href="classArServerBase.html">ArServerBase</a> *server, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html">ArRobot</a> *robot, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html">ArPTZ</a> *<a class="el" href="classArServerHandlerCamera.html#aff2e0fe4c857ae52b5187e71b514f901">camera</a>)</td></tr>
<tr class="memdesc:a28008a201b19aa0a1d7e56055a578636"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a28008a201b19aa0a1d7e56055a578636">More...</a><br /></td></tr>
<tr class="separator:a28008a201b19aa0a1d7e56055a578636"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff2e0fe4c857ae52b5187e71b514f901"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#aff2e0fe4c857ae52b5187e71b514f901">camera</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:aff2e0fe4c857ae52b5187e71b514f901"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles the camera network packet, with information stored as byte integers.  <a href="#aff2e0fe4c857ae52b5187e71b514f901">More...</a><br /></td></tr>
<tr class="separator:aff2e0fe4c857ae52b5187e71b514f901"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd3502a29449d42a9f8253384bce34ec"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#afd3502a29449d42a9f8253384bce34ec">cameraAbs</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:afd3502a29449d42a9f8253384bce34ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles the cameraAbs network packet, with information stored as byte integers.  <a href="#afd3502a29449d42a9f8253384bce34ec">More...</a><br /></td></tr>
<tr class="separator:afd3502a29449d42a9f8253384bce34ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:affb38298001cf250cce7557bc24b3abe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#affb38298001cf250cce7557bc24b3abe">cameraInfo</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:affb38298001cf250cce7557bc24b3abe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles the cameraInfo network packet, with information returned as byte2 integers.  <a href="#affb38298001cf250cce7557bc24b3abe">More...</a><br /></td></tr>
<tr class="separator:affb38298001cf250cce7557bc24b3abe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0a698b7a408b8f7c2c1634d916250c8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#ae0a698b7a408b8f7c2c1634d916250c8">cameraModeLookAtGoal</a> (void)</td></tr>
<tr class="memdesc:ae0a698b7a408b8f7c2c1634d916250c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts the camera into a mode where it will look at the goal.  <a href="#ae0a698b7a408b8f7c2c1634d916250c8">More...</a><br /></td></tr>
<tr class="separator:ae0a698b7a408b8f7c2c1634d916250c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99f4b712f775ff08b00debdc4def6953"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a99f4b712f775ff08b00debdc4def6953">cameraModeLookAtGoalClearGoal</a> (void)</td></tr>
<tr class="memdesc:a99f4b712f775ff08b00debdc4def6953"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the goal for the camera mode that points at the goal.  <a href="#a99f4b712f775ff08b00debdc4def6953">More...</a><br /></td></tr>
<tr class="separator:a99f4b712f775ff08b00debdc4def6953"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8202ba0aea95f81f2db27813ad653cd0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a8202ba0aea95f81f2db27813ad653cd0">cameraModeLookAtGoalSetGoal</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPose.html">ArPose</a> pose)</td></tr>
<tr class="memdesc:a8202ba0aea95f81f2db27813ad653cd0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the goal for the camera mode that points at the goal.  <a href="#a8202ba0aea95f81f2db27813ad653cd0">More...</a><br /></td></tr>
<tr class="separator:a8202ba0aea95f81f2db27813ad653cd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6a197d3bd1b525c21b90d794d47ac63"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#ac6a197d3bd1b525c21b90d794d47ac63">cameraModeLookAtPoint</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPose.html">ArPose</a> pose, bool controlZoom=true)</td></tr>
<tr class="memdesc:ac6a197d3bd1b525c21b90d794d47ac63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts the camera into a mode where it will look at a point.  <a href="#ac6a197d3bd1b525c21b90d794d47ac63">More...</a><br /></td></tr>
<tr class="separator:ac6a197d3bd1b525c21b90d794d47ac63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4a7e9ac44a02ae36508b585c9db577a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#af4a7e9ac44a02ae36508b585c9db577a">cameraModePosition</a> (void)</td></tr>
<tr class="memdesc:af4a7e9ac44a02ae36508b585c9db577a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Puts the camera in position mode.  <a href="#af4a7e9ac44a02ae36508b585c9db577a">More...</a><br /></td></tr>
<tr class="separator:af4a7e9ac44a02ae36508b585c9db577a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7d4144eda7e5e080eed3475848081bb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#ae7d4144eda7e5e080eed3475848081bb">cameraPct</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:ae7d4144eda7e5e080eed3475848081bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles the cameraPct network packet, with information stored as byte integers.  <a href="#ae7d4144eda7e5e080eed3475848081bb">More...</a><br /></td></tr>
<tr class="separator:ae7d4144eda7e5e080eed3475848081bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76c689a525a92522ad317958b6753a41"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a76c689a525a92522ad317958b6753a41">cameraUpdate</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:a76c689a525a92522ad317958b6753a41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles the cameraUpdate network packet, with information returned as byte2 integers.  <a href="#a76c689a525a92522ad317958b6753a41">More...</a><br /></td></tr>
<tr class="separator:a76c689a525a92522ad317958b6753a41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1694aac881bf50fc64a601f3861ce246"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a1694aac881bf50fc64a601f3861ce246">getCameraName</a> ()</td></tr>
<tr class="memdesc:a1694aac881bf50fc64a601f3861ce246"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the camera that is controlled by this handler.  <a href="#a1694aac881bf50fc64a601f3861ce246">More...</a><br /></td></tr>
<tr class="separator:a1694aac881bf50fc64a601f3861ce246"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad79081e0f60ee5d865bbdb11df7a4dc4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#ad79081e0f60ee5d865bbdb11df7a4dc4">handleCameraModeUpdated</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:ad79081e0f60ee5d865bbdb11df7a4dc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handle the mode request, generally this is sent when it changes.  <a href="#ad79081e0f60ee5d865bbdb11df7a4dc4">More...</a><br /></td></tr>
<tr class="separator:ad79081e0f60ee5d865bbdb11df7a4dc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6e668b1fb0899ba69174c8e7c27ca12"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#ab6e668b1fb0899ba69174c8e7c27ca12">handleGetCameraData</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:ab6e668b1fb0899ba69174c8e7c27ca12"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles the getCameraData network packet, returning information in double format.  <a href="#ab6e668b1fb0899ba69174c8e7c27ca12">More...</a><br /></td></tr>
<tr class="separator:ab6e668b1fb0899ba69174c8e7c27ca12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19ff9e98bdc1130052c85ed17cf7a76d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a19ff9e98bdc1130052c85ed17cf7a76d">handleGetCameraInfo</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:a19ff9e98bdc1130052c85ed17cf7a76d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles the getCameraInfo network packet, returning information in double format.  <a href="#a19ff9e98bdc1130052c85ed17cf7a76d">More...</a><br /></td></tr>
<tr class="separator:a19ff9e98bdc1130052c85ed17cf7a76d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7cda8840ec574257f175f9a9794f0761"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a7cda8840ec574257f175f9a9794f0761">handleGetCameraModeList</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:a7cda8840ec574257f175f9a9794f0761"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles the mode list for the camera.  <a href="#a7cda8840ec574257f175f9a9794f0761">More...</a><br /></td></tr>
<tr class="separator:a7cda8840ec574257f175f9a9794f0761"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d3c0c081cfc21cbdd5c5a597d005b42"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a4d3c0c081cfc21cbdd5c5a597d005b42">handleResetCamera</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:a4d3c0c081cfc21cbdd5c5a597d005b42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handle the reset.  <a href="#a4d3c0c081cfc21cbdd5c5a597d005b42">More...</a><br /></td></tr>
<tr class="separator:a4d3c0c081cfc21cbdd5c5a597d005b42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa460d19dd3c35eb20bed7d65c504a3a5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#aa460d19dd3c35eb20bed7d65c504a3a5">handleSetCameraAbs</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:aa460d19dd3c35eb20bed7d65c504a3a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles the setCameraAbs network packet, with information in double format.  <a href="#aa460d19dd3c35eb20bed7d65c504a3a5">More...</a><br /></td></tr>
<tr class="separator:aa460d19dd3c35eb20bed7d65c504a3a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e11bc901cb4fdd7db15d99446cbb700"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a2e11bc901cb4fdd7db15d99446cbb700">handleSetCameraMode</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:a2e11bc901cb4fdd7db15d99446cbb700"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handle the set mode request.  <a href="#a2e11bc901cb4fdd7db15d99446cbb700">More...</a><br /></td></tr>
<tr class="separator:a2e11bc901cb4fdd7db15d99446cbb700"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38a51ee5c1413fdaf7d729581aeb6bf6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a38a51ee5c1413fdaf7d729581aeb6bf6">handleSetCameraPct</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:a38a51ee5c1413fdaf7d729581aeb6bf6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles the setCameraPct network packet, with information in double format.  <a href="#a38a51ee5c1413fdaf7d729581aeb6bf6">More...</a><br /></td></tr>
<tr class="separator:a38a51ee5c1413fdaf7d729581aeb6bf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4faa7dbbfbf21624e5d5d9f2b262c2b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#ae4faa7dbbfbf21624e5d5d9f2b262c2b">handleSetCameraRel</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:ae4faa7dbbfbf21624e5d5d9f2b262c2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles the setCameraRel network packet, with information in double format.  <a href="#ae4faa7dbbfbf21624e5d5d9f2b262c2b">More...</a><br /></td></tr>
<tr class="separator:ae4faa7dbbfbf21624e5d5d9f2b262c2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a521583d50d34e3f88a9b39450e21ed43"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a521583d50d34e3f88a9b39450e21ed43">resetCamera</a> (bool lockRobot=true)</td></tr>
<tr class="memdesc:a521583d50d34e3f88a9b39450e21ed43"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the camera.  <a href="#a521583d50d34e3f88a9b39450e21ed43">More...</a><br /></td></tr>
<tr class="separator:a521583d50d34e3f88a9b39450e21ed43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c8b1aa0a0ef81e83c8e7e5718f6ed0f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a5c8b1aa0a0ef81e83c8e7e5718f6ed0f">setCameraAbs</a> (double pan, double tilt, double zoom, bool lockRobot=true)</td></tr>
<tr class="memdesc:a5c8b1aa0a0ef81e83c8e7e5718f6ed0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends the camera absolute commands to the camera (and puts it in position mode)  <a href="#a5c8b1aa0a0ef81e83c8e7e5718f6ed0f">More...</a><br /></td></tr>
<tr class="separator:a5c8b1aa0a0ef81e83c8e7e5718f6ed0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58277c7b38f68acae25f4daecbccbe85"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a58277c7b38f68acae25f4daecbccbe85">setCameraPct</a> (double panPct, double tiltPct, bool lockRobot=true)</td></tr>
<tr class="memdesc:a58277c7b38f68acae25f4daecbccbe85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends the camera percent commands to the camera (and puts it in position mode)  <a href="#a58277c7b38f68acae25f4daecbccbe85">More...</a><br /></td></tr>
<tr class="separator:a58277c7b38f68acae25f4daecbccbe85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cb8a9178c1e83f572e7a8d86b575fe7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a2cb8a9178c1e83f572e7a8d86b575fe7">setCameraRel</a> (double pan, double tilt, double zoom, bool lockRobot=true)</td></tr>
<tr class="memdesc:a2cb8a9178c1e83f572e7a8d86b575fe7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends the camera relative commands to the camera (and puts it in position mode)  <a href="#a2cb8a9178c1e83f572e7a8d86b575fe7">More...</a><br /></td></tr>
<tr class="separator:a2cb8a9178c1e83f572e7a8d86b575fe7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27c7b5fcd78d65a799509fea63bd11a1"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a27c7b5fcd78d65a799509fea63bd11a1">~ArServerHandlerCamera</a> ()</td></tr>
<tr class="memdesc:a27c7b5fcd78d65a799509fea63bd11a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#a27c7b5fcd78d65a799509fea63bd11a1">More...</a><br /></td></tr>
<tr class="separator:a27c7b5fcd78d65a799509fea63bd11a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classArCameraCollectionItem"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classArCameraCollectionItem')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="../../docs/classArCameraCollectionItem.html">ArCameraCollectionItem</a></td></tr>
<tr class="memitem:af81c76778bceff5df966b66ee784669a inherit pub_methods_classArCameraCollectionItem"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCollectionItem.html#af81c76778bceff5df966b66ee784669a">ArCameraCollectionItem</a> ()</td></tr>
<tr class="separator:af81c76778bceff5df966b66ee784669a inherit pub_methods_classArCameraCollectionItem"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace279cd987f3889508d24ba19e85930e inherit pub_methods_classArCameraCollectionItem"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCollectionItem.html#ace279cd987f3889508d24ba19e85930e">~ArCameraCollectionItem</a> ()</td></tr>
<tr class="separator:ace279cd987f3889508d24ba19e85930e inherit pub_methods_classArCameraCollectionItem"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
Protected Types</h2></td></tr>
<tr class="memitem:a25665b69b5fe8533d1e985499843e0c9"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="classArServerHandlerCamera.html#a25665b69b5fe8533d1e985499843e0c9a39eb99d13930f3a85c1607ed4e2b53c2">DOUBLE_FACTOR</a> = 100
 }</td></tr>
<tr class="separator:a25665b69b5fe8533d1e985499843e0c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8214b7d46f1a140f848a4f6f68b09d9e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a8214b7d46f1a140f848a4f6f68b09d9e">CameraMode</a> { <a class="el" href="classArServerHandlerCamera.html#a8214b7d46f1a140f848a4f6f68b09d9ea39dc1af6698ef397131353473655e159">CAMERA_MODE_POSITION</a>, 
<a class="el" href="classArServerHandlerCamera.html#a8214b7d46f1a140f848a4f6f68b09d9ea300a160b478ea07ed5a585f471cf1390">CAMERA_MODE_LOOK_AT_GOAL</a>, 
<a class="el" href="classArServerHandlerCamera.html#a8214b7d46f1a140f848a4f6f68b09d9ea869e7b00121f0964a49f759f6fab7a8c">CAMERA_MODE_LOOK_AT_POINT</a>
 }</td></tr>
<tr class="separator:a8214b7d46f1a140f848a4f6f68b09d9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:ae6d164c90130b247887a29312a3801ed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#ae6d164c90130b247887a29312a3801ed">addDoubleToPacket</a> (double val, <a class="el" href="classArNetPacket.html">ArNetPacket</a> &amp;packet)</td></tr>
<tr class="memdesc:ae6d164c90130b247887a29312a3801ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds the given value as a "double" to the given network packet.  <a href="#ae6d164c90130b247887a29312a3801ed">More...</a><br /></td></tr>
<tr class="separator:ae6d164c90130b247887a29312a3801ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a105859903b51faac9f1e4ba6138c9927"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a105859903b51faac9f1e4ba6138c9927">buildModePacket</a> (void)</td></tr>
<tr class="separator:a105859903b51faac9f1e4ba6138c9927"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbf1c6953314dae11ebf4f881debb130"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#abbf1c6953314dae11ebf4f881debb130">getCurrentZoomRatio</a> ()</td></tr>
<tr class="memdesc:abbf1c6953314dae11ebf4f881debb130"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the current camera zoom as a ratio of its zoom range.  <a href="#abbf1c6953314dae11ebf4f881debb130">More...</a><br /></td></tr>
<tr class="separator:abbf1c6953314dae11ebf4f881debb130"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98ffe3c4cc867274c3a34a421eadff49"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a98ffe3c4cc867274c3a34a421eadff49">getDoubleFromPacket</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> &amp;packet)</td></tr>
<tr class="memdesc:a98ffe3c4cc867274c3a34a421eadff49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a "double" value from the given network packet.  <a href="#a98ffe3c4cc867274c3a34a421eadff49">More...</a><br /></td></tr>
<tr class="separator:a98ffe3c4cc867274c3a34a421eadff49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a305ff8851e08c2cf9ac780d744792a83"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a305ff8851e08c2cf9ac780d744792a83">getZoomRange</a> ()</td></tr>
<tr class="memdesc:a305ff8851e08c2cf9ac780d744792a83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the range of the camera's zoom.  <a href="#a305ff8851e08c2cf9ac780d744792a83">More...</a><br /></td></tr>
<tr class="separator:a305ff8851e08c2cf9ac780d744792a83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac96686bb54d0bfbb436e5d54cedf87d3"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#ac96686bb54d0bfbb436e5d54cedf87d3">getZoomRatio</a> (double absZoom)</td></tr>
<tr class="memdesc:ac96686bb54d0bfbb436e5d54cedf87d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts the given absolute zoom value to a ratio of the camera's zoom range.  <a href="#ac96686bb54d0bfbb436e5d54cedf87d3">More...</a><br /></td></tr>
<tr class="separator:ac96686bb54d0bfbb436e5d54cedf87d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7d32545dbeadb9e197556e36d24e650"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#ac7d32545dbeadb9e197556e36d24e650">userTask</a> (void)</td></tr>
<tr class="separator:ac7d32545dbeadb9e197556e36d24e650"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a4d3437ed86afe3b4f3ac9dfe7b0b1e18"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html">ArPTZ</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a4d3437ed86afe3b4f3ac9dfe7b0b1e18">myCamera</a></td></tr>
<tr class="memdesc:a4d3437ed86afe3b4f3ac9dfe7b0b1e18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Camera that is controlled.  <a href="#a4d3437ed86afe3b4f3ac9dfe7b0b1e18">More...</a><br /></td></tr>
<tr class="separator:a4d3437ed86afe3b4f3ac9dfe7b0b1e18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d4e44849258a621d4ee84603b192426"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt; <a class="el" href="classArServerHandlerCamera.html">ArServerHandlerCamera</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a9d4e44849258a621d4ee84603b192426">myCameraAbsCB</a></td></tr>
<tr class="memdesc:a9d4e44849258a621d4ee84603b192426"><td class="mdescLeft">&#160;</td><td class="mdescRight">Old (integer-style) handler for the cameraAbs packet.  <a href="#a9d4e44849258a621d4ee84603b192426">More...</a><br /></td></tr>
<tr class="separator:a9d4e44849258a621d4ee84603b192426"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfd5d7b9e40a2498234823a5a16b3fd9"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt; <a class="el" href="classArServerHandlerCamera.html">ArServerHandlerCamera</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#adfd5d7b9e40a2498234823a5a16b3fd9">myCameraCB</a></td></tr>
<tr class="memdesc:adfd5d7b9e40a2498234823a5a16b3fd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Old (integer-style) handler for the camera packet.  <a href="#adfd5d7b9e40a2498234823a5a16b3fd9">More...</a><br /></td></tr>
<tr class="separator:adfd5d7b9e40a2498234823a5a16b3fd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3577be27a8f314024f64feb9d09184f"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCollection.html">ArCameraCollection</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#ae3577be27a8f314024f64feb9d09184f">myCameraCollection</a></td></tr>
<tr class="memdesc:ae3577be27a8f314024f64feb9d09184f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to the camera collection (if any)  <a href="#ae3577be27a8f314024f64feb9d09184f">More...</a><br /></td></tr>
<tr class="separator:ae3577be27a8f314024f64feb9d09184f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18eabe69114262f1a2af84a98959c19e"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt; <a class="el" href="classArServerHandlerCamera.html">ArServerHandlerCamera</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a18eabe69114262f1a2af84a98959c19e">myCameraInfoCB</a></td></tr>
<tr class="memdesc:a18eabe69114262f1a2af84a98959c19e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Old (integer-style) handler for the cameraInfo packet.  <a href="#a18eabe69114262f1a2af84a98959c19e">More...</a><br /></td></tr>
<tr class="separator:a18eabe69114262f1a2af84a98959c19e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8491a736574e349f6368b34390a9dc7c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArServerHandlerCamera.html#a8214b7d46f1a140f848a4f6f68b09d9e">CameraMode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a8491a736574e349f6368b34390a9dc7c">myCameraMode</a></td></tr>
<tr class="separator:a8491a736574e349f6368b34390a9dc7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6467912e3786858a92ab770326e01c25"><td class="memItemLeft" align="right" valign="top">std::map&lt; <a class="el" href="classArServerHandlerCamera.html#a8214b7d46f1a140f848a4f6f68b09d9e">CameraMode</a>, std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a6467912e3786858a92ab770326e01c25">myCameraModeNameMap</a></td></tr>
<tr class="separator:a6467912e3786858a92ab770326e01c25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32e4207d87172fcc516d1905c76e3905"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArNetPacket.html">ArNetPacket</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a32e4207d87172fcc516d1905c76e3905">myCameraModePacket</a></td></tr>
<tr class="separator:a32e4207d87172fcc516d1905c76e3905"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c688d301dafd414d4fff4bc82213a55"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a5c688d301dafd414d4fff4bc82213a55">myCameraName</a></td></tr>
<tr class="memdesc:a5c688d301dafd414d4fff4bc82213a55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unique name of the associated camera.  <a href="#a5c688d301dafd414d4fff4bc82213a55">More...</a><br /></td></tr>
<tr class="separator:a5c688d301dafd414d4fff4bc82213a55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbfe58d09e2ce5f2569ae5d56208aa5d"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt; <a class="el" href="classArServerHandlerCamera.html">ArServerHandlerCamera</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#abbfe58d09e2ce5f2569ae5d56208aa5d">myCameraUpdateCB</a></td></tr>
<tr class="memdesc:abbfe58d09e2ce5f2569ae5d56208aa5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Old (integer-style) handler for the cameraUpdate packet.  <a href="#abbfe58d09e2ce5f2569ae5d56208aa5d">More...</a><br /></td></tr>
<tr class="separator:abbfe58d09e2ce5f2569ae5d56208aa5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6db19b76d9149ab66679ff001b5fe420"><td class="memItemLeft" align="right" valign="top">std::map&lt; std::string, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2.html">ArFunctor2</a>&lt; <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt; * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a6db19b76d9149ab66679ff001b5fe420">myCommandToCBMap</a></td></tr>
<tr class="memdesc:a6db19b76d9149ab66679ff001b5fe420"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map of ArCameraCommand names to the callback that handles the packet.  <a href="#a6db19b76d9149ab66679ff001b5fe420">More...</a><br /></td></tr>
<tr class="separator:a6db19b76d9149ab66679ff001b5fe420"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30059e11580a9d9c1cf3e58006cf25df"><td class="memItemLeft" align="right" valign="top">std::map&lt; std::string, int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a30059e11580a9d9c1cf3e58006cf25df">myCommandToIntervalMap</a></td></tr>
<tr class="memdesc:a30059e11580a9d9c1cf3e58006cf25df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map of ArCameraCommand names to the preferred default request interval.  <a href="#a30059e11580a9d9c1cf3e58006cf25df">More...</a><br /></td></tr>
<tr class="separator:a30059e11580a9d9c1cf3e58006cf25df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfe8c76c208b95adfcc48fc4460d03e6"><td class="memItemLeft" align="right" valign="top">std::map&lt; std::string, std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#adfe8c76c208b95adfcc48fc4460d03e6">myCommandToPacketNameMap</a></td></tr>
<tr class="memdesc:adfe8c76c208b95adfcc48fc4460d03e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map of ArCameraCommand names to a unique network packet name.  <a href="#adfe8c76c208b95adfcc48fc4460d03e6">More...</a><br /></td></tr>
<tr class="separator:adfe8c76c208b95adfcc48fc4460d03e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c1bc3d35e2c99247c98150b9945afad"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPose.html">ArPose</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a9c1bc3d35e2c99247c98150b9945afad">myGoal</a></td></tr>
<tr class="separator:a9c1bc3d35e2c99247c98150b9945afad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3131304e928beccb691c67f017031740"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a3131304e928beccb691c67f017031740">myGoalAchieved</a></td></tr>
<tr class="separator:a3131304e928beccb691c67f017031740"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5390321fe3d5f125eb1ba5069eee9da2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a5390321fe3d5f125eb1ba5069eee9da2">myGoalAchievedLast</a></td></tr>
<tr class="separator:a5390321fe3d5f125eb1ba5069eee9da2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f7115a557195543d55e6444db566728"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a8f7115a557195543d55e6444db566728">myGoalResetZoom</a></td></tr>
<tr class="separator:a8f7115a557195543d55e6444db566728"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43a08c015067daa104f1314e55968fb0"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPose.html">ArPose</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a43a08c015067daa104f1314e55968fb0">myLookAtPoint</a></td></tr>
<tr class="separator:a43a08c015067daa104f1314e55968fb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98609fa3d4a6e6e9cf62bade9e71d6b6"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a98609fa3d4a6e6e9cf62bade9e71d6b6">myModeMutex</a></td></tr>
<tr class="separator:a98609fa3d4a6e6e9cf62bade9e71d6b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf06079dd40b626f2eb508234c6a8261"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#aaf06079dd40b626f2eb508234c6a8261">myPointResetZoom</a></td></tr>
<tr class="separator:aaf06079dd40b626f2eb508234c6a8261"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fe2016491575f7fa43c39f439273f89"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html">ArRobot</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#a9fe2016491575f7fa43c39f439273f89">myRobot</a></td></tr>
<tr class="memdesc:a9fe2016491575f7fa43c39f439273f89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Associated robot (primarily used for locking)  <a href="#a9fe2016491575f7fa43c39f439273f89">More...</a><br /></td></tr>
<tr class="separator:a9fe2016491575f7fa43c39f439273f89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4dd0512e3b5571ae39379ec62554fe4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArServerBase.html">ArServerBase</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#aa4dd0512e3b5571ae39379ec62554fe4">myServer</a></td></tr>
<tr class="memdesc:aa4dd0512e3b5571ae39379ec62554fe4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Server from which requests are received.  <a href="#aa4dd0512e3b5571ae39379ec62554fe4">More...</a><br /></td></tr>
<tr class="separator:aa4dd0512e3b5571ae39379ec62554fe4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed6813943f2c17da4fc718e02a2752f3"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctorC.html">ArFunctorC</a>&lt; <a class="el" href="classArServerHandlerCamera.html">ArServerHandlerCamera</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerHandlerCamera.html#aed6813943f2c17da4fc718e02a2752f3">myUserTaskCB</a></td></tr>
<tr class="separator:aed6813943f2c17da4fc718e02a2752f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Accepts and processes camera pan/tilt/zoom requests from the client, and provides information about the camera (such as its current position). </p>
<p>The following requests are accepted. Arguments and return values are stored in the packet as signed 16-bit values. (They are converted to double-precision floating point values when received by dividing by 100; to store floating point values, multiply by 100 first: <code>packet.byte2ToBuf((<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTypes.html#aff7daca3c28eeaacc95b1ac07997661c">ArTypes::Byte2</a>)(100.0 * doubleVal));</code> or see also <a class="el" href="classArServerHandlerCamera.html#a98ffe3c4cc867274c3a34a421eadff49" title="Reads a &quot;double&quot; value from the given network packet. ">getDoubleFromPacket()</a> and <a class="el" href="classArServerHandlerCamera.html#ae6d164c90130b247887a29312a3801ed" title="Adds the given value as a &quot;double&quot; to the given network packet. ">addDoubleToPacket()</a>.)</p>
<p>Each request name is suffixed by the name (<em>Name</em> in the table below) of the camera to control. If more than one camera is used, each can have a different name (given in the constructor), and commands for the different cameras are differentiated by appending the camera name to the command requests listed below. For example, an <a class="el" href="classArServerHandlerCamera.html" title="Accepts and processes camera pan/tilt/zoom requests from the client, and provides information about t...">ArServerHandlerCamera</a> with camera name of "A" would receive "setCameraRelA". while the handler with camera name of "B" would receive "setCameraAbsB". If no camera name is given (typical if just one <a class="el" href="classArServerHandlerCamera.html" title="Accepts and processes camera pan/tilt/zoom requests from the client, and provides information about t...">ArServerHandlerCamera</a> object is created), <em>Name</em> is empty, and just the base requests are used. A list of cameras can be provided to a client via <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCollection.html">ArCameraCollection</a> and <a class="el" href="classArServerHandlerCameraCollection.html" title="Provides information to a client about different cameras and how to send requests to their different ...">ArServerHandlerCameraCollection</a>. </p><pre class="fragment">&lt;table&gt;
  &lt;tr&gt;&lt;th&gt;Request&lt;/th&gt; &lt;th&gt;Arguments&lt;/th&gt; &lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;td&gt;setCameraRel&lt;i&gt;Name&lt;/i&gt;&lt;/td&gt; &lt;td&gt;double: pan amount; double: tilt
</pre><p> amount; [double: zoom amount] </p>
<p>Command to pan and tilt the camera from the current position by the values given in the first two arguments. If a third argument is given, zoom from the current position. </p>
<p>setCameraAbs<em>Name</em> </p>
<p>double: pan position; double: tilt position; [double: zoom position] </p>
<p>Command to pan and tilt the camera to the absolute positions given by the first two arguments. If a third argument is given, set the zoom to that absolute position. </p>
<p>setCameraPct<em>Name</em> </p>
<p>double: pan position; double tilt position </p>
<p>Command to pan and tilt the camera to the given positions as percentage of their overall ranges. </p>
<p>getCameraData<em>Name</em> </p>
<p>none </p>
<p>Data request to get current pan and tilt values. Also get zoom value if available. </p>
<p>getCameraInfo<em>Name</em> </p>
<p>None </p>
<p>Data request to get pan and tilt ranges. Also gets the zoom range if available. </p>
<pre class="fragment">In addition, some older camera requests are accepted for partial backwards 
compatability with old clients: cameraUpdate, cameraInfo, cameraAbs, camera, 
and cameraPct.  These requests take values as single bytes, rather than multiplied
floats as 2-bytes as the above commands do. Note, these cannot be used in a multi-camera 
configuration.

These requests are in a user permission group called CameraControl.

In addition to positioning the camera, ArServerHandlerCamera can support additional "modes" for camera control, if additional code is added to update ArServerHandlerCamera with the state of other systems such as navigation.  The additional modes are LookAtGoal and LookAtPoint.  An external system such as navigation (e.g. ARNL) must keep the camera handler object updated with its current goal by calling cameraModeLookAtGoalSetGoal() and cameraModeLookAtGoalClearGoal(), and ArServerHandlerCamera will continuously point the camera at that point or goal as the robot moves. The network requests associated with setting modes are:
</pre> <table class="doxtable">
<tr>
<td>getCameraModeList<em>Name</em> </td><td>none </td><td>Gets the list of modes that camera with name <em>Name</em> supports. Replies with a message containing a list of mode names as strings, ending with an empty string (or end of packet is </td></tr>
<tr>
<td>setCameraMode<em>Name</em> </td><td>string: mode name </td><td>change the camera mode of camera with name <em>Name</em>  reached)  </td></tr>
</table>
<p>The following messages may be broadcast: </p><table class="doxtable">
<tr>
<td>getCameraModeUpdated<em>Name</em> </td><td>string: mode name </td><td>Sent when the mode is changed of the camera with name <em>Name</em> </td></tr>
</table>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="serverDemo_8cpp-example.html#_a50">serverDemo.cpp</a>.</dd>
</dl></div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a class="anchor" id="a25665b69b5fe8533d1e985499843e0c9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a25665b69b5fe8533d1e985499843e0c9a39eb99d13930f3a85c1607ed4e2b53c2"></a>DOUBLE_FACTOR&#160;</td><td class="fielddoc">
<p>Multiplier for putting/getting "double" values to/from a packet. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a8214b7d46f1a140f848a4f6f68b09d9e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classArServerHandlerCamera.html#a8214b7d46f1a140f848a4f6f68b09d9e">ArServerHandlerCamera::CameraMode</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a8214b7d46f1a140f848a4f6f68b09d9ea39dc1af6698ef397131353473655e159"></a>CAMERA_MODE_POSITION&#160;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a8214b7d46f1a140f848a4f6f68b09d9ea300a160b478ea07ed5a585f471cf1390"></a>CAMERA_MODE_LOOK_AT_GOAL&#160;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a8214b7d46f1a140f848a4f6f68b09d9ea869e7b00121f0964a49f759f6fab7a8c"></a>CAMERA_MODE_LOOK_AT_POINT&#160;</td><td class="fielddoc">
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a62d84d39d59422be307cfa9ee8ae3114"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ArServerHandlerCamera::ArServerHandlerCamera </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>cameraName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArServerBase.html">ArServerBase</a> *&#160;</td>
          <td class="paramname"><em>server</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html">ArRobot</a> *&#160;</td>
          <td class="paramname"><em>robot</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html">ArPTZ</a> *&#160;</td>
          <td class="paramname"><em>camera</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCollection.html">ArCameraCollection</a> *&#160;</td>
          <td class="paramname"><em>collection</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructs a new handler for the specified camera. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cameraName</td><td>the unique char * name of the associated camera </td></tr>
    <tr><td class="paramname">server</td><td>the <a class="el" href="classArServerBase.html" title="Base server for all networking services. ">ArServerBase</a> * used to send/receive requests </td></tr>
    <tr><td class="paramname">robot</td><td>the associated <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html">ArRobot</a> * </td></tr>
    <tr><td class="paramname">camera</td><td>the <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html">ArPTZ</a> * that provides access to the actual camera </td></tr>
    <tr><td class="paramname">collection</td><td>the <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCollection.html">ArCameraCollection</a> * to which to add the camera command information; if NULL, then <a class="el" href="classArServerHandlerCamera.html#ad2a1481fd494f477c0f4908cbc773ab4" title="Adds the camera commands to the given collection. ">addToCameraCollection()</a> must be called manually. </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classArServerHandlerCamera.html#ae3577be27a8f314024f64feb9d09184f">myCameraCollection</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a28008a201b19aa0a1d7e56055a578636">ArServerHandlerCamera()</a>.</p>

</div>
</div>
<a class="anchor" id="a28008a201b19aa0a1d7e56055a578636"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ArServerHandlerCamera::ArServerHandlerCamera </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerBase.html">ArServerBase</a> *&#160;</td>
          <td class="paramname"><em>server</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html">ArRobot</a> *&#160;</td>
          <td class="paramname"><em>robot</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html">ArPTZ</a> *&#160;</td>
          <td class="paramname"><em>camera</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor. </p>
<p>This constructor is maintained for backwards compatibility. It will not work in a multi-camera configuration. </p><dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated:</a></b></dt><dd></dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">server</td><td>the <a class="el" href="classArServerBase.html" title="Base server for all networking services. ">ArServerBase</a> * used to send/receive requests </td></tr>
    <tr><td class="paramname">robot</td><td>the associated <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html">ArRobot</a> * </td></tr>
    <tr><td class="paramname">camera</td><td>the <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html">ArPTZ</a> * that provides access to the actual camera</td></tr>
    <tr><td class="paramname">robot</td><td>The robot we're attached to (mostly used for locking the camera before sending commands) </td></tr>
    <tr><td class="paramname">server</td><td>The server we're putting commands into </td></tr>
    <tr><td class="paramname">camera</td><td>The camera we're going to command and give information from... it can be NULL in which case no commands are added </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classArServerHandlerCamera.html#a62d84d39d59422be307cfa9ee8ae3114">ArServerHandlerCamera()</a>.</p>

</div>
</div>
<a class="anchor" id="a27c7b5fcd78d65a799509fea63bd11a1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ArServerHandlerCamera::~ArServerHandlerCamera </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destructor. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a50070f4e19b91aaac20772d15d9ad805">ArRobot::addUserTask()</a>, <a class="el" href="classArServerHandlerCamera.html#a8214b7d46f1a140f848a4f6f68b09d9ea300a160b478ea07ed5a585f471cf1390">CAMERA_MODE_LOOK_AT_GOAL</a>, <a class="el" href="classArServerHandlerCamera.html#a8214b7d46f1a140f848a4f6f68b09d9ea869e7b00121f0964a49f759f6fab7a8c">CAMERA_MODE_LOOK_AT_POINT</a>, <a class="el" href="classArServerHandlerCamera.html#a8214b7d46f1a140f848a4f6f68b09d9ea39dc1af6698ef397131353473655e159">CAMERA_MODE_POSITION</a>, <a class="el" href="classArServerHandlerCamera.html#a8491a736574e349f6368b34390a9dc7c">myCameraMode</a>, <a class="el" href="classArServerHandlerCamera.html#a6467912e3786858a92ab770326e01c25">myCameraModeNameMap</a>, <a class="el" href="classArServerHandlerCamera.html#a6db19b76d9149ab66679ff001b5fe420">myCommandToCBMap</a>, <a class="el" href="classArServerHandlerCamera.html#a3131304e928beccb691c67f017031740">myGoalAchieved</a>, <a class="el" href="classArServerHandlerCamera.html#a98609fa3d4a6e6e9cf62bade9e71d6b6">myModeMutex</a>, <a class="el" href="classArServerHandlerCamera.html#a9fe2016491575f7fa43c39f439273f89">myRobot</a>, <a class="el" href="classArServerHandlerCamera.html#aed6813943f2c17da4fc718e02a2752f3">myUserTaskCB</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a00069ede1325b6f9f500ef2636858262">ArMutex::setLogName()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html#acbc4f69001bac535e6507b4ca696c7d7">ArFunctor::setName()</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ae6d164c90130b247887a29312a3801ed"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerHandlerCamera::addDoubleToPacket </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>val</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> &amp;&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adds the given value as a "double" to the given network packet. </p>
<p>The "double" value is really a 2-byte integer multiplied by the DOUBLE_FACTOR. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a4a1712c143161298c10235a7739c73af">ArBasePacket::byte2ToBuf()</a>, and <a class="el" href="classArServerHandlerCamera.html#a25665b69b5fe8533d1e985499843e0c9a39eb99d13930f3a85c1607ed4e2b53c2">DOUBLE_FACTOR</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#ab6e668b1fb0899ba69174c8e7c27ca12">handleGetCameraData()</a>, and <a class="el" href="classArServerHandlerCamera.html#a19ff9e98bdc1130052c85ed17cf7a76d">handleGetCameraInfo()</a>.</p>

</div>
</div>
<a class="anchor" id="ad2a1481fd494f477c0f4908cbc773ab4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerHandlerCamera::addToCameraCollection </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCollection.html">ArCameraCollection</a> &amp;&#160;</td>
          <td class="paramname"><em>collection</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adds the camera commands to the given collection. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">collection</td><td>the <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCollection.html">ArCameraCollection</a> to which to add the camera commands </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCollectionItem.html#a05e51f2412c3eb61f464228f7e75faa3">ArCameraCollectionItem</a>.</p>

</div>
</div>
<a class="anchor" id="a105859903b51faac9f1e4ba6138c9927"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerHandlerCamera::buildModePacket </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a6ab2c8b1224dc27fc96f22ff8f027e28">ArBasePacket::byte4ToBuf()</a>, <a class="el" href="classArServerHandlerCamera.html#a8214b7d46f1a140f848a4f6f68b09d9ea869e7b00121f0964a49f759f6fab7a8c">CAMERA_MODE_LOOK_AT_POINT</a>, <a class="el" href="classArNetPacket.html#a967d1901ff4e9cc53e31383eaa3bb609">ArNetPacket::empty()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPose.html#afd85bde3b0320d19d108b172c3f332b1">ArPose::getX()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPose.html#a563e9580f307fe832a7269f72bfda8fb">ArPose::getY()</a>, <a class="el" href="classArServerHandlerCamera.html#a8491a736574e349f6368b34390a9dc7c">myCameraMode</a>, <a class="el" href="classArServerHandlerCamera.html#a6467912e3786858a92ab770326e01c25">myCameraModeNameMap</a>, <a class="el" href="classArServerHandlerCamera.html#a32e4207d87172fcc516d1905c76e3905">myCameraModePacket</a>, <a class="el" href="classArServerHandlerCamera.html#a43a08c015067daa104f1314e55968fb0">myLookAtPoint</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMath.html#a5cc85672a327b96f1668aaf8efc58c7a">ArMath::roundInt()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a1367558f1c0ce2830072a649ad935d21">ArBasePacket::strToBuf()</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#ae0a698b7a408b8f7c2c1634d916250c8">cameraModeLookAtGoal()</a>, <a class="el" href="classArServerHandlerCamera.html#ac6a197d3bd1b525c21b90d794d47ac63">cameraModeLookAtPoint()</a>, and <a class="el" href="classArServerHandlerCamera.html#af4a7e9ac44a02ae36508b585c9db577a">cameraModePosition()</a>.</p>

</div>
</div>
<a class="anchor" id="aff2e0fe4c857ae52b5187e71b514f901"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerHandlerCamera::camera </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Handles the camera network packet, with information stored as byte integers. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a3006b1fbf239cea0013d0a9e0c0c1baf">ArBasePacket::bufToByte()</a>, and <a class="el" href="classArServerHandlerCamera.html#a2cb8a9178c1e83f572e7a8d86b575fe7">setCameraRel()</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a1694aac881bf50fc64a601f3861ce246">getCameraName()</a>.</p>

</div>
</div>
<a class="anchor" id="afd3502a29449d42a9f8253384bce34ec"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerHandlerCamera::cameraAbs </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Handles the cameraAbs network packet, with information stored as byte integers. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a3006b1fbf239cea0013d0a9e0c0c1baf">ArBasePacket::bufToByte()</a>, and <a class="el" href="classArServerHandlerCamera.html#a5c8b1aa0a0ef81e83c8e7e5718f6ed0f">setCameraAbs()</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a1694aac881bf50fc64a601f3861ce246">getCameraName()</a>.</p>

</div>
</div>
<a class="anchor" id="affb38298001cf250cce7557bc24b3abe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerHandlerCamera::cameraInfo </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Handles the cameraInfo network packet, with information returned as byte2 integers. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a4a1712c143161298c10235a7739c73af">ArBasePacket::byte2ToBuf()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a9afdff469545e32649067ed0db391046">ArBasePacket::byteToBuf()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#a26898283fecc9536d90b819fc751d410">ArPTZ::canZoom()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#a4dcefee2f9373bc949e9e205fbc7a505">ArPTZ::getMaxNegPan()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#a389a3eb3ea39bd8f3cc706afb6e576d3">ArPTZ::getMaxNegTilt()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#a1f3c4f0c3f0950c892e605ffec34bc86">ArPTZ::getMaxPosPan()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#adf6fb70e256999e62aa5c001f4a59596">ArPTZ::getMaxPosTilt()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a5aecc7ac998c9a31b82fdb904efa8609">ArRobot::lock()</a>, <a class="el" href="classArServerHandlerCamera.html#a4d3437ed86afe3b4f3ac9dfe7b0b1e18">myCamera</a>, <a class="el" href="classArServerHandlerCamera.html#a9fe2016491575f7fa43c39f439273f89">myRobot</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMath.html#a5cc85672a327b96f1668aaf8efc58c7a">ArMath::roundInt()</a>, <a class="el" href="classArServerClient.html#a9276b1f38501725852c779058bad1d33">ArServerClient::sendPacketUdp()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a403d9de010dc2b8d478cd0b14b2d9491">ArRobot::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a1694aac881bf50fc64a601f3861ce246">getCameraName()</a>.</p>

</div>
</div>
<a class="anchor" id="ae0a698b7a408b8f7c2c1634d916250c8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerHandlerCamera::cameraModeLookAtGoal </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Puts the camera into a mode where it will look at the goal. </p>

<p>References <a class="el" href="classArServerBase.html#aaf43c74fa075d30ec57eb1ac4221084c">ArServerBase::broadcastPacketTcp()</a>, <a class="el" href="classArServerHandlerCamera.html#a105859903b51faac9f1e4ba6138c9927">buildModePacket()</a>, <a class="el" href="classArServerHandlerCamera.html#a8214b7d46f1a140f848a4f6f68b09d9ea300a160b478ea07ed5a585f471cf1390">CAMERA_MODE_LOOK_AT_GOAL</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCommands.html#a13d9ff41c501b33d7bf07557b58dae7d">ArCameraCommands::CAMERA_MODE_UPDATED</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerHandlerCamera.html#a8491a736574e349f6368b34390a9dc7c">myCameraMode</a>, <a class="el" href="classArServerHandlerCamera.html#a32e4207d87172fcc516d1905c76e3905">myCameraModePacket</a>, <a class="el" href="classArServerHandlerCamera.html#adfe8c76c208b95adfcc48fc4460d03e6">myCommandToPacketNameMap</a>, <a class="el" href="classArServerHandlerCamera.html#a3131304e928beccb691c67f017031740">myGoalAchieved</a>, <a class="el" href="classArServerHandlerCamera.html#a5390321fe3d5f125eb1ba5069eee9da2">myGoalAchievedLast</a>, <a class="el" href="classArServerHandlerCamera.html#a8f7115a557195543d55e6444db566728">myGoalResetZoom</a>, <a class="el" href="classArServerHandlerCamera.html#a98609fa3d4a6e6e9cf62bade9e71d6b6">myModeMutex</a>, <a class="el" href="classArServerHandlerCamera.html#aa4dd0512e3b5571ae39379ec62554fe4">myServer</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a2e11bc901cb4fdd7db15d99446cbb700">handleSetCameraMode()</a>.</p>

</div>
</div>
<a class="anchor" id="a99f4b712f775ff08b00debdc4def6953"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerHandlerCamera::cameraModeLookAtGoalClearGoal </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Clears the goal for the camera mode that points at the goal. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArServerHandlerCamera.html#a3131304e928beccb691c67f017031740">myGoalAchieved</a>, <a class="el" href="classArServerHandlerCamera.html#a98609fa3d4a6e6e9cf62bade9e71d6b6">myModeMutex</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

</div>
</div>
<a class="anchor" id="a8202ba0aea95f81f2db27813ad653cd0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerHandlerCamera::cameraModeLookAtGoalSetGoal </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPose.html">ArPose</a>&#160;</td>
          <td class="paramname"><em>pose</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the goal for the camera mode that points at the goal. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArServerHandlerCamera.html#a9c1bc3d35e2c99247c98150b9945afad">myGoal</a>, <a class="el" href="classArServerHandlerCamera.html#a3131304e928beccb691c67f017031740">myGoalAchieved</a>, <a class="el" href="classArServerHandlerCamera.html#a5390321fe3d5f125eb1ba5069eee9da2">myGoalAchievedLast</a>, <a class="el" href="classArServerHandlerCamera.html#a8f7115a557195543d55e6444db566728">myGoalResetZoom</a>, <a class="el" href="classArServerHandlerCamera.html#a98609fa3d4a6e6e9cf62bade9e71d6b6">myModeMutex</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

</div>
</div>
<a class="anchor" id="ac6a197d3bd1b525c21b90d794d47ac63"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerHandlerCamera::cameraModeLookAtPoint </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPose.html">ArPose</a>&#160;</td>
          <td class="paramname"><em>pose</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>controlZoom</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Puts the camera into a mode where it will look at a point. </p>

<p>References <a class="el" href="classArServerBase.html#aaf43c74fa075d30ec57eb1ac4221084c">ArServerBase::broadcastPacketTcp()</a>, <a class="el" href="classArServerHandlerCamera.html#a105859903b51faac9f1e4ba6138c9927">buildModePacket()</a>, <a class="el" href="classArServerHandlerCamera.html#a8214b7d46f1a140f848a4f6f68b09d9ea869e7b00121f0964a49f759f6fab7a8c">CAMERA_MODE_LOOK_AT_POINT</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCommands.html#a13d9ff41c501b33d7bf07557b58dae7d">ArCameraCommands::CAMERA_MODE_UPDATED</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPose.html#a5ea548bafd383910dec1b9cdee41cad3">ArPose::findDistanceTo()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPose.html#afd85bde3b0320d19d108b172c3f332b1">ArPose::getX()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPose.html#a563e9580f307fe832a7269f72bfda8fb">ArPose::getY()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerHandlerCamera.html#a8491a736574e349f6368b34390a9dc7c">myCameraMode</a>, <a class="el" href="classArServerHandlerCamera.html#a32e4207d87172fcc516d1905c76e3905">myCameraModePacket</a>, <a class="el" href="classArServerHandlerCamera.html#adfe8c76c208b95adfcc48fc4460d03e6">myCommandToPacketNameMap</a>, <a class="el" href="classArServerHandlerCamera.html#a43a08c015067daa104f1314e55968fb0">myLookAtPoint</a>, <a class="el" href="classArServerHandlerCamera.html#a98609fa3d4a6e6e9cf62bade9e71d6b6">myModeMutex</a>, <a class="el" href="classArServerHandlerCamera.html#aaf06079dd40b626f2eb508234c6a8261">myPointResetZoom</a>, <a class="el" href="classArServerHandlerCamera.html#aa4dd0512e3b5571ae39379ec62554fe4">myServer</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a2e11bc901cb4fdd7db15d99446cbb700">handleSetCameraMode()</a>.</p>

</div>
</div>
<a class="anchor" id="af4a7e9ac44a02ae36508b585c9db577a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerHandlerCamera::cameraModePosition </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Puts the camera in position mode. </p>

<p>References <a class="el" href="classArServerBase.html#aaf43c74fa075d30ec57eb1ac4221084c">ArServerBase::broadcastPacketTcp()</a>, <a class="el" href="classArServerHandlerCamera.html#a105859903b51faac9f1e4ba6138c9927">buildModePacket()</a>, <a class="el" href="classArServerHandlerCamera.html#a8214b7d46f1a140f848a4f6f68b09d9ea39dc1af6698ef397131353473655e159">CAMERA_MODE_POSITION</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCommands.html#a13d9ff41c501b33d7bf07557b58dae7d">ArCameraCommands::CAMERA_MODE_UPDATED</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerHandlerCamera.html#a8491a736574e349f6368b34390a9dc7c">myCameraMode</a>, <a class="el" href="classArServerHandlerCamera.html#a32e4207d87172fcc516d1905c76e3905">myCameraModePacket</a>, <a class="el" href="classArServerHandlerCamera.html#adfe8c76c208b95adfcc48fc4460d03e6">myCommandToPacketNameMap</a>, <a class="el" href="classArServerHandlerCamera.html#a98609fa3d4a6e6e9cf62bade9e71d6b6">myModeMutex</a>, <a class="el" href="classArServerHandlerCamera.html#aa4dd0512e3b5571ae39379ec62554fe4">myServer</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a2e11bc901cb4fdd7db15d99446cbb700">handleSetCameraMode()</a>, <a class="el" href="classArServerHandlerCamera.html#a521583d50d34e3f88a9b39450e21ed43">resetCamera()</a>, <a class="el" href="classArServerHandlerCamera.html#a5c8b1aa0a0ef81e83c8e7e5718f6ed0f">setCameraAbs()</a>, <a class="el" href="classArServerHandlerCamera.html#a58277c7b38f68acae25f4daecbccbe85">setCameraPct()</a>, and <a class="el" href="classArServerHandlerCamera.html#a2cb8a9178c1e83f572e7a8d86b575fe7">setCameraRel()</a>.</p>

</div>
</div>
<a class="anchor" id="ae7d4144eda7e5e080eed3475848081bb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerHandlerCamera::cameraPct </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Handles the cameraPct network packet, with information stored as byte integers. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a3006b1fbf239cea0013d0a9e0c0c1baf">ArBasePacket::bufToByte()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#ab4ca5b3e1be2ee119d15f65fe68a5888">ArPTZ::canGetFOV()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerHandlerCamera.html#a4d3437ed86afe3b4f3ac9dfe7b0b1e18">myCamera</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, and <a class="el" href="classArServerHandlerCamera.html#a58277c7b38f68acae25f4daecbccbe85">setCameraPct()</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a1694aac881bf50fc64a601f3861ce246">getCameraName()</a>.</p>

</div>
</div>
<a class="anchor" id="a76c689a525a92522ad317958b6753a41"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerHandlerCamera::cameraUpdate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Handles the cameraUpdate network packet, with information returned as byte2 integers. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a4a1712c143161298c10235a7739c73af">ArBasePacket::byte2ToBuf()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#adbe4dd5593dc638005a7c0dfbdd5de37">ArPTZ::getMaxZoom()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#ae89a0e1f2458e59625c4849944b0c8ca">ArPTZ::getMinZoom()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#a9d76370937c1cb2170e7a07a0157d949">ArPTZ::getPan()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#ae9f4ff90958537f6bdc095e9ed12ebe6">ArPTZ::getTilt()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#a3fa77b2691a7cd7ae9f823ba9271a33a">ArPTZ::getZoom()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a5aecc7ac998c9a31b82fdb904efa8609">ArRobot::lock()</a>, <a class="el" href="classArServerHandlerCamera.html#a4d3437ed86afe3b4f3ac9dfe7b0b1e18">myCamera</a>, <a class="el" href="classArServerHandlerCamera.html#a9fe2016491575f7fa43c39f439273f89">myRobot</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMath.html#a5cc85672a327b96f1668aaf8efc58c7a">ArMath::roundInt()</a>, <a class="el" href="classArServerClient.html#a9276b1f38501725852c779058bad1d33">ArServerClient::sendPacketUdp()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a403d9de010dc2b8d478cd0b14b2d9491">ArRobot::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a1694aac881bf50fc64a601f3861ce246">getCameraName()</a>.</p>

</div>
</div>
<a class="anchor" id="a1694aac881bf50fc64a601f3861ce246"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char * ArServerHandlerCamera::getCameraName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the name of the camera that is controlled by this handler. </p>
<dl class="section return"><dt>Returns</dt><dd>char * the unique name of the associated camera (if specified in the constructor) </dd></dl>

<p>Implements <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCollectionItem.html#ac4fe2c1688b56d910abf4f2b04ccd034">ArCameraCollectionItem</a>.</p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCollection.html#af387beddb1c2d7f726eb9f1dd3da7af8">ArCameraCollection::addCameraCommand()</a>, <a class="el" href="classArServerBase.html#a2df604c980c35140f69d35362a3403f2">ArServerBase::addData()</a>, <a class="el" href="classArServerHandlerCamera.html#aff2e0fe4c857ae52b5187e71b514f901">camera()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCommands.html#a13d9ff41c501b33d7bf07557b58dae7d">ArCameraCommands::CAMERA_MODE_UPDATED</a>, <a class="el" href="classArServerHandlerCamera.html#afd3502a29449d42a9f8253384bce34ec">cameraAbs()</a>, <a class="el" href="classArServerHandlerCamera.html#affb38298001cf250cce7557bc24b3abe">cameraInfo()</a>, <a class="el" href="classArServerHandlerCamera.html#ae7d4144eda7e5e080eed3475848081bb">cameraPct()</a>, <a class="el" href="classArServerHandlerCamera.html#a76c689a525a92522ad317958b6753a41">cameraUpdate()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#ab4ca5b3e1be2ee119d15f65fe68a5888">ArPTZ::canGetFOV()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCollection.html#a075b9bafeb4c62a9fe6d020430a84f53">ArCameraCollection::exists()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCommands.html#aafce83a8e187656fe7309fac2b67f5dd">ArCameraCommands::GET_CAMERA_DATA</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCommands.html#a8fadac548f658e156ce09fd9b923f481">ArCameraCommands::GET_CAMERA_DATA_INT</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCommands.html#a05a88bf890aa4ebc3a271af3b4c52843">ArCameraCommands::GET_CAMERA_INFO</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCommands.html#a97b857e8ae657bc191092719eb19052d">ArCameraCommands::GET_CAMERA_INFO_INT</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCommands.html#a4ffa289dd51b1b8086aa6b5c15d05282">ArCameraCommands::GET_CAMERA_MODE_LIST</a>, <a class="el" href="classArServerHandlerCamera.html#ad79081e0f60ee5d865bbdb11df7a4dc4">handleCameraModeUpdated()</a>, <a class="el" href="classArServerHandlerCamera.html#ab6e668b1fb0899ba69174c8e7c27ca12">handleGetCameraData()</a>, <a class="el" href="classArServerHandlerCamera.html#a19ff9e98bdc1130052c85ed17cf7a76d">handleGetCameraInfo()</a>, <a class="el" href="classArServerHandlerCamera.html#a7cda8840ec574257f175f9a9794f0761">handleGetCameraModeList()</a>, <a class="el" href="classArServerHandlerCamera.html#a4d3c0c081cfc21cbdd5c5a597d005b42">handleResetCamera()</a>, <a class="el" href="classArServerHandlerCamera.html#aa460d19dd3c35eb20bed7d65c504a3a5">handleSetCameraAbs()</a>, <a class="el" href="classArServerHandlerCamera.html#a2e11bc901cb4fdd7db15d99446cbb700">handleSetCameraMode()</a>, <a class="el" href="classArServerHandlerCamera.html#a38a51ee5c1413fdaf7d729581aeb6bf6">handleSetCameraPct()</a>, <a class="el" href="classArServerHandlerCamera.html#ae4faa7dbbfbf21624e5d5d9f2b262c2b">handleSetCameraRel()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerHandlerCamera.html#a4d3437ed86afe3b4f3ac9dfe7b0b1e18">myCamera</a>, <a class="el" href="classArServerHandlerCamera.html#a5c688d301dafd414d4fff4bc82213a55">myCameraName</a>, <a class="el" href="classArServerHandlerCamera.html#a6db19b76d9149ab66679ff001b5fe420">myCommandToCBMap</a>, <a class="el" href="classArServerHandlerCamera.html#a30059e11580a9d9c1cf3e58006cf25df">myCommandToIntervalMap</a>, <a class="el" href="classArServerHandlerCamera.html#adfe8c76c208b95adfcc48fc4460d03e6">myCommandToPacketNameMap</a>, <a class="el" href="classArServerHandlerCamera.html#aa4dd0512e3b5571ae39379ec62554fe4">myServer</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCommands.html#acf15697dba03f78b0a830ba3bdc7e64b">ArCameraCommands::RESET_CAMERA</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCommands.html#a9e386e8fff2cbb34bb48e27111bf57ee">ArCameraCommands::SET_CAMERA_ABS</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCommands.html#a31fae667ddeae1cc96cd28c0dc49292c">ArCameraCommands::SET_CAMERA_ABS_INT</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCommands.html#a58001cb278e8f81b6c4bb9acda79aa24">ArCameraCommands::SET_CAMERA_MODE</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCommands.html#a527b9dd22ae3dd8db1e796a99fdb36ad">ArCameraCommands::SET_CAMERA_PCT</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCommands.html#ae653da5cae4995a393bccdb2207f2823">ArCameraCommands::SET_CAMERA_PCT_INT</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCommands.html#a68901ea9566f0c8be592577bf2b7d7ea">ArCameraCommands::SET_CAMERA_REL</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCommands.html#ad36d1b013626f65f71919a8577ec725b">ArCameraCommands::SET_CAMERA_REL_INT</a>.</p>

</div>
</div>
<a class="anchor" id="abbf1c6953314dae11ebf4f881debb130"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double ArServerHandlerCamera::getCurrentZoomRatio </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the current camera zoom as a ratio of its zoom range. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#adbe4dd5593dc638005a7c0dfbdd5de37">ArPTZ::getMaxZoom()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#ae89a0e1f2458e59625c4849944b0c8ca">ArPTZ::getMinZoom()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#a3fa77b2691a7cd7ae9f823ba9271a33a">ArPTZ::getZoom()</a>, and <a class="el" href="classArServerHandlerCamera.html#a4d3437ed86afe3b4f3ac9dfe7b0b1e18">myCamera</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#ab6e668b1fb0899ba69174c8e7c27ca12">handleGetCameraData()</a>, <a class="el" href="classArServerHandlerCamera.html#a58277c7b38f68acae25f4daecbccbe85">setCameraPct()</a>, and <a class="el" href="classArServerHandlerCamera.html#a2cb8a9178c1e83f572e7a8d86b575fe7">setCameraRel()</a>.</p>

</div>
</div>
<a class="anchor" id="a98ffe3c4cc867274c3a34a421eadff49"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double ArServerHandlerCamera::getDoubleFromPacket </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> &amp;&#160;</td>
          <td class="paramname"><em>packet</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reads a "double" value from the given network packet. </p>
<p>The "double" value is really a 2-byte integer multiplied by the DOUBLE_FACTOR. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#ab300d387c442be9ab025e2c089bbd620">ArBasePacket::bufToByte2()</a>, and <a class="el" href="classArServerHandlerCamera.html#a25665b69b5fe8533d1e985499843e0c9a39eb99d13930f3a85c1607ed4e2b53c2">DOUBLE_FACTOR</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#aa460d19dd3c35eb20bed7d65c504a3a5">handleSetCameraAbs()</a>, <a class="el" href="classArServerHandlerCamera.html#a38a51ee5c1413fdaf7d729581aeb6bf6">handleSetCameraPct()</a>, and <a class="el" href="classArServerHandlerCamera.html#ae4faa7dbbfbf21624e5d5d9f2b262c2b">handleSetCameraRel()</a>.</p>

</div>
</div>
<a class="anchor" id="a305ff8851e08c2cf9ac780d744792a83"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double ArServerHandlerCamera::getZoomRange </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the range of the camera's zoom. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#adbe4dd5593dc638005a7c0dfbdd5de37">ArPTZ::getMaxZoom()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#ae89a0e1f2458e59625c4849944b0c8ca">ArPTZ::getMinZoom()</a>, and <a class="el" href="classArServerHandlerCamera.html#a4d3437ed86afe3b4f3ac9dfe7b0b1e18">myCamera</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a5c8b1aa0a0ef81e83c8e7e5718f6ed0f">setCameraAbs()</a>, and <a class="el" href="classArServerHandlerCamera.html#a2cb8a9178c1e83f572e7a8d86b575fe7">setCameraRel()</a>.</p>

</div>
</div>
<a class="anchor" id="ac96686bb54d0bfbb436e5d54cedf87d3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double ArServerHandlerCamera::getZoomRatio </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>absZoom</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Converts the given absolute zoom value to a ratio of the camera's zoom range. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#adbe4dd5593dc638005a7c0dfbdd5de37">ArPTZ::getMaxZoom()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#ae89a0e1f2458e59625c4849944b0c8ca">ArPTZ::getMinZoom()</a>, and <a class="el" href="classArServerHandlerCamera.html#a4d3437ed86afe3b4f3ac9dfe7b0b1e18">myCamera</a>.</p>

</div>
</div>
<a class="anchor" id="ad79081e0f60ee5d865bbdb11df7a4dc4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerHandlerCamera::handleCameraModeUpdated </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Handle the mode request, generally this is sent when it changes. </p>
<p>Refer to handleSetCameraMode for a description of the supported modes and the various packet structures.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">client</td><td>the <a class="el" href="classArServerClient.html" title="This class represents the server&#39;s connection to the client, and contains the socket that the server ...">ArServerClient</a> * that sent the request </td></tr>
    <tr><td class="paramname">packet</td><td>the <a class="el" href="classArNetPacket.html" title="our packet for the network stuff ">ArNetPacket</a> * that contains the request </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArServerHandlerCamera.html#a32e4207d87172fcc516d1905c76e3905">myCameraModePacket</a>, <a class="el" href="classArServerHandlerCamera.html#a98609fa3d4a6e6e9cf62bade9e71d6b6">myModeMutex</a>, <a class="el" href="classArServerClient.html#a3f898b500f25869bdc5098c7d9a94f93">ArServerClient::sendPacketTcp()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a1694aac881bf50fc64a601f3861ce246">getCameraName()</a>.</p>

</div>
</div>
<a class="anchor" id="ab6e668b1fb0899ba69174c8e7c27ca12"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerHandlerCamera::handleGetCameraData </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Handles the getCameraData network packet, returning information in double format. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">client</td><td>the <a class="el" href="classArServerClient.html" title="This class represents the server&#39;s connection to the client, and contains the socket that the server ...">ArServerClient</a> * that sent the request </td></tr>
    <tr><td class="paramname">packet</td><td>the <a class="el" href="classArNetPacket.html" title="our packet for the network stuff ">ArNetPacket</a> * that contains the request </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classArServerHandlerCamera.html#ae6d164c90130b247887a29312a3801ed">addDoubleToPacket()</a>, <a class="el" href="classArServerHandlerCamera.html#abbf1c6953314dae11ebf4f881debb130">getCurrentZoomRatio()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#a9d76370937c1cb2170e7a07a0157d949">ArPTZ::getPan()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#ae9f4ff90958537f6bdc095e9ed12ebe6">ArPTZ::getTilt()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a5aecc7ac998c9a31b82fdb904efa8609">ArRobot::lock()</a>, <a class="el" href="classArServerHandlerCamera.html#a4d3437ed86afe3b4f3ac9dfe7b0b1e18">myCamera</a>, <a class="el" href="classArServerHandlerCamera.html#a9fe2016491575f7fa43c39f439273f89">myRobot</a>, <a class="el" href="classArServerClient.html#a9276b1f38501725852c779058bad1d33">ArServerClient::sendPacketUdp()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a403d9de010dc2b8d478cd0b14b2d9491">ArRobot::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a1694aac881bf50fc64a601f3861ce246">getCameraName()</a>.</p>

</div>
</div>
<a class="anchor" id="a19ff9e98bdc1130052c85ed17cf7a76d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerHandlerCamera::handleGetCameraInfo </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Handles the getCameraInfo network packet, returning information in double format. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">client</td><td>the <a class="el" href="classArServerClient.html" title="This class represents the server&#39;s connection to the client, and contains the socket that the server ...">ArServerClient</a> * that sent the request </td></tr>
    <tr><td class="paramname">packet</td><td>the <a class="el" href="classArNetPacket.html" title="our packet for the network stuff ">ArNetPacket</a> * that contains the request </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classArServerHandlerCamera.html#ae6d164c90130b247887a29312a3801ed">addDoubleToPacket()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a9afdff469545e32649067ed0db391046">ArBasePacket::byteToBuf()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#a26898283fecc9536d90b819fc751d410">ArPTZ::canZoom()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#a4dcefee2f9373bc949e9e205fbc7a505">ArPTZ::getMaxNegPan()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#a389a3eb3ea39bd8f3cc706afb6e576d3">ArPTZ::getMaxNegTilt()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#a1f3c4f0c3f0950c892e605ffec34bc86">ArPTZ::getMaxPosPan()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#adf6fb70e256999e62aa5c001f4a59596">ArPTZ::getMaxPosTilt()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a5aecc7ac998c9a31b82fdb904efa8609">ArRobot::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerHandlerCamera.html#a4d3437ed86afe3b4f3ac9dfe7b0b1e18">myCamera</a>, <a class="el" href="classArServerHandlerCamera.html#a5c688d301dafd414d4fff4bc82213a55">myCameraName</a>, <a class="el" href="classArServerHandlerCamera.html#a9fe2016491575f7fa43c39f439273f89">myRobot</a>, <a class="el" href="classArServerClient.html#a9276b1f38501725852c779058bad1d33">ArServerClient::sendPacketUdp()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a403d9de010dc2b8d478cd0b14b2d9491">ArRobot::unlock()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a6e80d09c67dad73e9ba736e91ec893be">ArLog::Verbose</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a1694aac881bf50fc64a601f3861ce246">getCameraName()</a>.</p>

</div>
</div>
<a class="anchor" id="a7cda8840ec574257f175f9a9794f0761"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerHandlerCamera::handleGetCameraModeList </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Handles the mode list for the camera. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">client</td><td>the <a class="el" href="classArServerClient.html" title="This class represents the server&#39;s connection to the client, and contains the socket that the server ...">ArServerClient</a> * that sent the request </td></tr>
    <tr><td class="paramname">packet</td><td>the <a class="el" href="classArNetPacket.html" title="our packet for the network stuff ">ArNetPacket</a> * that contains the request </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArServerHandlerCamera.html#a6467912e3786858a92ab770326e01c25">myCameraModeNameMap</a>, <a class="el" href="classArServerHandlerCamera.html#a98609fa3d4a6e6e9cf62bade9e71d6b6">myModeMutex</a>, <a class="el" href="classArServerClient.html#a3f898b500f25869bdc5098c7d9a94f93">ArServerClient::sendPacketTcp()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a1367558f1c0ce2830072a649ad935d21">ArBasePacket::strToBuf()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#aeec1b2c2dc6902e3c2b820fb2ddbf0e2">ArBasePacket::uByte2ToBuf()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a1694aac881bf50fc64a601f3861ce246">getCameraName()</a>.</p>

</div>
</div>
<a class="anchor" id="a4d3c0c081cfc21cbdd5c5a597d005b42"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerHandlerCamera::handleResetCamera </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Handle the reset. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">client</td><td>the <a class="el" href="classArServerClient.html" title="This class represents the server&#39;s connection to the client, and contains the socket that the server ...">ArServerClient</a> * that sent the request </td></tr>
    <tr><td class="paramname">packet</td><td>the <a class="el" href="classArNetPacket.html" title="our packet for the network stuff ">ArNetPacket</a> * that contains the request </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classArServerHandlerCamera.html#a521583d50d34e3f88a9b39450e21ed43">resetCamera()</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a1694aac881bf50fc64a601f3861ce246">getCameraName()</a>.</p>

</div>
</div>
<a class="anchor" id="aa460d19dd3c35eb20bed7d65c504a3a5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerHandlerCamera::handleSetCameraAbs </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Handles the setCameraAbs network packet, with information in double format. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">client</td><td>the <a class="el" href="classArServerClient.html" title="This class represents the server&#39;s connection to the client, and contains the socket that the server ...">ArServerClient</a> * that sent the request </td></tr>
    <tr><td class="paramname">packet</td><td>the <a class="el" href="classArNetPacket.html" title="our packet for the network stuff ">ArNetPacket</a> * that contains the request </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classArServerHandlerCamera.html#a98ffe3c4cc867274c3a34a421eadff49">getDoubleFromPacket()</a>, <a class="el" href="classArServerHandlerCamera.html#a4d3437ed86afe3b4f3ac9dfe7b0b1e18">myCamera</a>, <a class="el" href="classArServerHandlerCamera.html#a9fe2016491575f7fa43c39f439273f89">myRobot</a>, and <a class="el" href="classArServerHandlerCamera.html#a5c8b1aa0a0ef81e83c8e7e5718f6ed0f">setCameraAbs()</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a1694aac881bf50fc64a601f3861ce246">getCameraName()</a>.</p>

</div>
</div>
<a class="anchor" id="a2e11bc901cb4fdd7db15d99446cbb700"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerHandlerCamera::handleSetCameraMode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Handle the set mode request. </p>
<p>The following modes are currently supported:</p><ul>
<li>Position: The user controls the camera position; no additional parameters in the packet</li>
<li>LookAtGoal: The robot automatically points the camera in the direction of its destination goal; no additional parameters in the packet</li>
<li>LookAtPoint: The robot "looks" at a specified point in the map; the packet contains: byte4, the x coordinate; byte4, the y coordinate <dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">client</td><td>the <a class="el" href="classArServerClient.html" title="This class represents the server&#39;s connection to the client, and contains the socket that the server ...">ArServerClient</a> * that sent the request </td></tr>
    <tr><td class="paramname">packet</td><td>the <a class="el" href="classArNetPacket.html" title="our packet for the network stuff ">ArNetPacket</a> * that contains the request </td></tr>
  </table>
  </dd>
</dl>
</li>
</ul>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a80571dd0c49cfb0717b1fc1e81176672">ArBasePacket::bufToByte4()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a8f1536daa451024715fe82cec495e826">ArBasePacket::bufToStr()</a>, <a class="el" href="classArServerHandlerCamera.html#a8214b7d46f1a140f848a4f6f68b09d9ea300a160b478ea07ed5a585f471cf1390">CAMERA_MODE_LOOK_AT_GOAL</a>, <a class="el" href="classArServerHandlerCamera.html#a8214b7d46f1a140f848a4f6f68b09d9ea869e7b00121f0964a49f759f6fab7a8c">CAMERA_MODE_LOOK_AT_POINT</a>, <a class="el" href="classArServerHandlerCamera.html#a8214b7d46f1a140f848a4f6f68b09d9ea39dc1af6698ef397131353473655e159">CAMERA_MODE_POSITION</a>, <a class="el" href="classArServerHandlerCamera.html#ae0a698b7a408b8f7c2c1634d916250c8">cameraModeLookAtGoal()</a>, <a class="el" href="classArServerHandlerCamera.html#ac6a197d3bd1b525c21b90d794d47ac63">cameraModeLookAtPoint()</a>, <a class="el" href="classArServerHandlerCamera.html#af4a7e9ac44a02ae36508b585c9db577a">cameraModePosition()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerHandlerCamera.html#a6467912e3786858a92ab770326e01c25">myCameraModeNameMap</a>, <a class="el" href="classArServerHandlerCamera.html#a5c688d301dafd414d4fff4bc82213a55">myCameraName</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPose.html#a4abf2da7a65b43472c42cf5e93ed55d2">ArPose::setX()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPose.html#acceb46105151ec0c6a0cdb826adfe056">ArPose::setY()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArUtil.html#ab17364ae21df36b1d11942bc5d75b074">ArUtil::strcasecmp()</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a1694aac881bf50fc64a601f3861ce246">getCameraName()</a>.</p>

</div>
</div>
<a class="anchor" id="a38a51ee5c1413fdaf7d729581aeb6bf6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerHandlerCamera::handleSetCameraPct </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Handles the setCameraPct network packet, with information in double format. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">client</td><td>the <a class="el" href="classArServerClient.html" title="This class represents the server&#39;s connection to the client, and contains the socket that the server ...">ArServerClient</a> * that sent the request </td></tr>
    <tr><td class="paramname">packet</td><td>the <a class="el" href="classArNetPacket.html" title="our packet for the network stuff ">ArNetPacket</a> * that contains the request </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#ab4ca5b3e1be2ee119d15f65fe68a5888">ArPTZ::canGetFOV()</a>, <a class="el" href="classArServerHandlerCamera.html#a98ffe3c4cc867274c3a34a421eadff49">getDoubleFromPacket()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerHandlerCamera.html#a4d3437ed86afe3b4f3ac9dfe7b0b1e18">myCamera</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, and <a class="el" href="classArServerHandlerCamera.html#a58277c7b38f68acae25f4daecbccbe85">setCameraPct()</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a1694aac881bf50fc64a601f3861ce246">getCameraName()</a>.</p>

</div>
</div>
<a class="anchor" id="ae4faa7dbbfbf21624e5d5d9f2b262c2b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerHandlerCamera::handleSetCameraRel </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Handles the setCameraRel network packet, with information in double format. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">client</td><td>the <a class="el" href="classArServerClient.html" title="This class represents the server&#39;s connection to the client, and contains the socket that the server ...">ArServerClient</a> * that sent the request </td></tr>
    <tr><td class="paramname">packet</td><td>the <a class="el" href="classArNetPacket.html" title="our packet for the network stuff ">ArNetPacket</a> * that contains the request </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classArServerHandlerCamera.html#a98ffe3c4cc867274c3a34a421eadff49">getDoubleFromPacket()</a>, and <a class="el" href="classArServerHandlerCamera.html#a2cb8a9178c1e83f572e7a8d86b575fe7">setCameraRel()</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a1694aac881bf50fc64a601f3861ce246">getCameraName()</a>.</p>

</div>
</div>
<a class="anchor" id="a521583d50d34e3f88a9b39450e21ed43"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerHandlerCamera::resetCamera </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>lockRobot</em> = <code>true</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Resets the camera. </p>

<p>References <a class="el" href="classArServerHandlerCamera.html#af4a7e9ac44a02ae36508b585c9db577a">cameraModePosition()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a5aecc7ac998c9a31b82fdb904efa8609">ArRobot::lock()</a>, <a class="el" href="classArServerHandlerCamera.html#a4d3437ed86afe3b4f3ac9dfe7b0b1e18">myCamera</a>, <a class="el" href="classArServerHandlerCamera.html#a9fe2016491575f7fa43c39f439273f89">myRobot</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#a5b4a5e0245ea974434fac47e07b32be8">ArPTZ::reset()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a403d9de010dc2b8d478cd0b14b2d9491">ArRobot::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a4d3c0c081cfc21cbdd5c5a597d005b42">handleResetCamera()</a>.</p>

</div>
</div>
<a class="anchor" id="a5c8b1aa0a0ef81e83c8e7e5718f6ed0f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerHandlerCamera::setCameraAbs </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>pan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>tilt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>zoom</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>lockRobot</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sends the camera absolute commands to the camera (and puts it in position mode) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pan</td><td>the degrees to pan to (absolute) </td></tr>
    <tr><td class="paramname">tilt</td><td>the degrees to tilt to (absolute) </td></tr>
    <tr><td class="paramname">zoom</td><td>the percent (number between 0 and 100) to pan to (absolute) </td></tr>
    <tr><td class="paramname">lockRobot</td><td>whether to lock the robot or not </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classArServerHandlerCamera.html#af4a7e9ac44a02ae36508b585c9db577a">cameraModePosition()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#ae89a0e1f2458e59625c4849944b0c8ca">ArPTZ::getMinZoom()</a>, <a class="el" href="classArServerHandlerCamera.html#a305ff8851e08c2cf9ac780d744792a83">getZoomRange()</a>, <a class="el" href="ArServerHandlerCamera_8cpp.html#a8f190bfcdf45dd402c71a98ab76b6fdd">IFDEBUG</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a5aecc7ac998c9a31b82fdb904efa8609">ArRobot::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerHandlerCamera.html#a4d3437ed86afe3b4f3ac9dfe7b0b1e18">myCamera</a>, <a class="el" href="classArServerHandlerCamera.html#a9fe2016491575f7fa43c39f439273f89">myRobot</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#a451b080c77f0b6a1104db1752f48bece">ArPTZ::panTilt()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMath.html#a5cc85672a327b96f1668aaf8efc58c7a">ArMath::roundInt()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a403d9de010dc2b8d478cd0b14b2d9491">ArRobot::unlock()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#ac6253215273db093527abe6d517b9f95">ArPTZ::zoom()</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#afd3502a29449d42a9f8253384bce34ec">cameraAbs()</a>, and <a class="el" href="classArServerHandlerCamera.html#aa460d19dd3c35eb20bed7d65c504a3a5">handleSetCameraAbs()</a>.</p>

</div>
</div>
<a class="anchor" id="a58277c7b38f68acae25f4daecbccbe85"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerHandlerCamera::setCameraPct </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>panPct</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>tiltPct</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>lockRobot</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sends the camera percent commands to the camera (and puts it in position mode) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">panPct</td><td>the double percent offset from the image frame center by which to pan the camera; values range -100 to 100. 0 indicates no change.</td></tr>
    <tr><td class="paramname">tiltPct</td><td>the double percent offset from the image frame center by which to tilt the camera; values range -100 to 100. 0 indicates no change.</td></tr>
    <tr><td class="paramname">lockRobot</td><td>whether to lock the robot or not </td></tr>
  </table>
  </dd>
</dl>
<p>Figure how much the x/y/z components of the left/right vector, this part is pretty straightforward since its just multiplying the left/right vector by the cos or sin to get the component in that direction (which is based on the pan)</p>
<pre class="fragment">------------------   y 
|\)lr |
| \   | sin lr
|  \  | 
|   \ |
|    \|
x
</pre><p>That derives the sin lr for the length of the vector... for how much of that is in which direction</p>
<pre class="fragment">    dx = sin lr * sin pan
------------------------- y
|\)pan  |
| \     |
|  \slr |  dy = sin lr * cos pan
|   \   |
|    \  |
|     \ |
|      \|
x
</pre><p>Where slr is the sin lr derived above and pan is the pan angle (since we're doing vectors the position we calculate these components from doesn't matter so we just move it back to 0 to make life easier)...</p>
<p>The - on the sin is needed, I think its because the camera pans positive to the right and negative to the left instead of positive to the right.</p>
<p>Figure how much the x/y/z components of the up/down vector,</p>
<p>So for x and y first we find how much is in the x/y plane (sin(ud) * sin(oldTilt)) and then we multiply that by the same sin or cos of the pan to see how much is in which coord...</p>
<p>For z we just multiply the up/down vector by the cos to find what the movement in z is.</p>
<p>Now add the original vector, the vector from left/right and the vector from up/down together.</p>
<pre class="fragment"> Now find where we have to pan and tilt to... 

       |   ,
       |  /|z 
       | / |
       |/t |y
       -)--|-------
      / \)p|  /
     /  h\ | / x
    /     \|/

 Where x, y, and z are the values we found above and tilt and pan
 are the tilt (angle of the line off of the x/y plane) and pan
 values (angle of the line within the x/y plain) we need to point
 at that point, h is the hypotenuse of the line projected into the
 x/y plane.



 tan pan = x / y
</pre><p> ! pan = atan (x / y) </p><pre class="fragment"> cos pan = y / hyp
 hyp = y / cos pan

 sin pan = x / hyp
 hyp = x / sin pan

 tan tilt = z / hyp
</pre><p>! tilt = atan (z / hyp) (substitute in one of the hyps)</p>
<p>Pan is easy since its just the atan of x and y.</p>
<p>This denom can be either y/cos(pan) or x / sin(pan) depending on which solution you use and we use them in a way that won't get us a divide by 0.</p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gadd5c8cde271a71c44bbfa0b6376ba1ec">ArMath::atan2()</a>, <a class="el" href="classArServerHandlerCamera.html#af4a7e9ac44a02ae36508b585c9db577a">cameraModePosition()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga953ffdd0b569b33cbfd5a8f69cf3c69a">ArMath::cos()</a>, <a class="el" href="classArServerHandlerCamera.html#abbf1c6953314dae11ebf4f881debb130">getCurrentZoomRatio()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#ab36cb8cbef420550ab48d68775ed3f83">ArPTZ::getFOVAtMaxZoom()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#aa2aaa084407e91a58c762f3576516843">ArPTZ::getFOVAtMinZoom()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#a9d76370937c1cb2170e7a07a0157d949">ArPTZ::getPan()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#ae9f4ff90958537f6bdc095e9ed12ebe6">ArPTZ::getTilt()</a>, <a class="el" href="ArServerHandlerCamera_8cpp.html#a8f190bfcdf45dd402c71a98ab76b6fdd">IFDEBUG</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a5aecc7ac998c9a31b82fdb904efa8609">ArRobot::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerHandlerCamera.html#a4d3437ed86afe3b4f3ac9dfe7b0b1e18">myCamera</a>, <a class="el" href="classArServerHandlerCamera.html#a9fe2016491575f7fa43c39f439273f89">myRobot</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#a451b080c77f0b6a1104db1752f48bece">ArPTZ::panTilt()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gaeb05754b7747988dd97a961eaded6830">ArMath::sin()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gaad297269fc57d48d6ee91e64f2917610">ArMath::tan()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a403d9de010dc2b8d478cd0b14b2d9491">ArRobot::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#ae7d4144eda7e5e080eed3475848081bb">cameraPct()</a>, and <a class="el" href="classArServerHandlerCamera.html#a38a51ee5c1413fdaf7d729581aeb6bf6">handleSetCameraPct()</a>.</p>

</div>
</div>
<a class="anchor" id="a2cb8a9178c1e83f572e7a8d86b575fe7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerHandlerCamera::setCameraRel </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>pan</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>tilt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>zoom</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>lockRobot</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sends the camera relative commands to the camera (and puts it in position mode) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pan</td><td>the degrees to pan to (relative) </td></tr>
    <tr><td class="paramname">tilt</td><td>the degrees to tilt to (relative) </td></tr>
    <tr><td class="paramname">zoom</td><td>the percent (number between 0 and 100) to change pan by (relative) </td></tr>
    <tr><td class="paramname">lockRobot</td><td>whether to lock the robot or not </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classArServerHandlerCamera.html#af4a7e9ac44a02ae36508b585c9db577a">cameraModePosition()</a>, <a class="el" href="classArServerHandlerCamera.html#abbf1c6953314dae11ebf4f881debb130">getCurrentZoomRatio()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#adbe4dd5593dc638005a7c0dfbdd5de37">ArPTZ::getMaxZoom()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#ae89a0e1f2458e59625c4849944b0c8ca">ArPTZ::getMinZoom()</a>, <a class="el" href="classArServerHandlerCamera.html#a305ff8851e08c2cf9ac780d744792a83">getZoomRange()</a>, <a class="el" href="ArServerHandlerCamera_8cpp.html#a8f190bfcdf45dd402c71a98ab76b6fdd">IFDEBUG</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a5aecc7ac998c9a31b82fdb904efa8609">ArRobot::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerHandlerCamera.html#a4d3437ed86afe3b4f3ac9dfe7b0b1e18">myCamera</a>, <a class="el" href="classArServerHandlerCamera.html#a9fe2016491575f7fa43c39f439273f89">myRobot</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#a961a03bbd153b3361a711ef18c52513e">ArPTZ::panRel()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#a6036f53a3305e6f0e84025b693057439">ArPTZ::panTiltRel()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMath.html#a5cc85672a327b96f1668aaf8efc58c7a">ArMath::roundInt()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#a8261c5ce26e3b38fec76268508529d92">ArPTZ::tiltRel()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a403d9de010dc2b8d478cd0b14b2d9491">ArRobot::unlock()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#ac6253215273db093527abe6d517b9f95">ArPTZ::zoom()</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#aff2e0fe4c857ae52b5187e71b514f901">camera()</a>, and <a class="el" href="classArServerHandlerCamera.html#ae4faa7dbbfbf21624e5d5d9f2b262c2b">handleSetCameraRel()</a>.</p>

</div>
</div>
<a class="anchor" id="ac7d32545dbeadb9e197556e36d24e650"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerHandlerCamera::userTask </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="el" href="classArServerHandlerCamera.html#a8214b7d46f1a140f848a4f6f68b09d9ea300a160b478ea07ed5a585f471cf1390">CAMERA_MODE_LOOK_AT_GOAL</a>, <a class="el" href="classArServerHandlerCamera.html#a8214b7d46f1a140f848a4f6f68b09d9ea869e7b00121f0964a49f759f6fab7a8c">CAMERA_MODE_LOOK_AT_POINT</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga0092f3289d46d70211fd42e88bf13af3">ArRobot::findDeltaHeadingTo()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArServerHandlerCamera.html#a4d3437ed86afe3b4f3ac9dfe7b0b1e18">myCamera</a>, <a class="el" href="classArServerHandlerCamera.html#a8491a736574e349f6368b34390a9dc7c">myCameraMode</a>, <a class="el" href="classArServerHandlerCamera.html#a9c1bc3d35e2c99247c98150b9945afad">myGoal</a>, <a class="el" href="classArServerHandlerCamera.html#a3131304e928beccb691c67f017031740">myGoalAchieved</a>, <a class="el" href="classArServerHandlerCamera.html#a5390321fe3d5f125eb1ba5069eee9da2">myGoalAchievedLast</a>, <a class="el" href="classArServerHandlerCamera.html#a8f7115a557195543d55e6444db566728">myGoalResetZoom</a>, <a class="el" href="classArServerHandlerCamera.html#a43a08c015067daa104f1314e55968fb0">myLookAtPoint</a>, <a class="el" href="classArServerHandlerCamera.html#a98609fa3d4a6e6e9cf62bade9e71d6b6">myModeMutex</a>, <a class="el" href="classArServerHandlerCamera.html#aaf06079dd40b626f2eb508234c6a8261">myPointResetZoom</a>, <a class="el" href="classArServerHandlerCamera.html#a9fe2016491575f7fa43c39f439273f89">myRobot</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#a451b080c77f0b6a1104db1752f48bece">ArPTZ::panTilt()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html#ac6253215273db093527abe6d517b9f95">ArPTZ::zoom()</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a4d3437ed86afe3b4f3ac9dfe7b0b1e18"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPTZ.html">ArPTZ</a>* ArServerHandlerCamera::myCamera</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Camera that is controlled. </p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#affb38298001cf250cce7557bc24b3abe">cameraInfo()</a>, <a class="el" href="classArServerHandlerCamera.html#ae7d4144eda7e5e080eed3475848081bb">cameraPct()</a>, <a class="el" href="classArServerHandlerCamera.html#a76c689a525a92522ad317958b6753a41">cameraUpdate()</a>, <a class="el" href="classArServerHandlerCamera.html#a1694aac881bf50fc64a601f3861ce246">getCameraName()</a>, <a class="el" href="classArServerHandlerCamera.html#abbf1c6953314dae11ebf4f881debb130">getCurrentZoomRatio()</a>, <a class="el" href="classArServerHandlerCamera.html#a305ff8851e08c2cf9ac780d744792a83">getZoomRange()</a>, <a class="el" href="classArServerHandlerCamera.html#ac96686bb54d0bfbb436e5d54cedf87d3">getZoomRatio()</a>, <a class="el" href="classArServerHandlerCamera.html#ab6e668b1fb0899ba69174c8e7c27ca12">handleGetCameraData()</a>, <a class="el" href="classArServerHandlerCamera.html#a19ff9e98bdc1130052c85ed17cf7a76d">handleGetCameraInfo()</a>, <a class="el" href="classArServerHandlerCamera.html#aa460d19dd3c35eb20bed7d65c504a3a5">handleSetCameraAbs()</a>, <a class="el" href="classArServerHandlerCamera.html#a38a51ee5c1413fdaf7d729581aeb6bf6">handleSetCameraPct()</a>, <a class="el" href="classArServerHandlerCamera.html#a521583d50d34e3f88a9b39450e21ed43">resetCamera()</a>, <a class="el" href="classArServerHandlerCamera.html#a5c8b1aa0a0ef81e83c8e7e5718f6ed0f">setCameraAbs()</a>, <a class="el" href="classArServerHandlerCamera.html#a58277c7b38f68acae25f4daecbccbe85">setCameraPct()</a>, <a class="el" href="classArServerHandlerCamera.html#a2cb8a9178c1e83f572e7a8d86b575fe7">setCameraRel()</a>, and <a class="el" href="classArServerHandlerCamera.html#ac7d32545dbeadb9e197556e36d24e650">userTask()</a>.</p>

</div>
</div>
<a class="anchor" id="a9d4e44849258a621d4ee84603b192426"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt;<a class="el" href="classArServerHandlerCamera.html">ArServerHandlerCamera</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *&gt; ArServerHandlerCamera::myCameraAbsCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Old (integer-style) handler for the cameraAbs packet. </p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000004">Deprecated:</a></b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="adfd5d7b9e40a2498234823a5a16b3fd9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt;<a class="el" href="classArServerHandlerCamera.html">ArServerHandlerCamera</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *&gt; ArServerHandlerCamera::myCameraCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Old (integer-style) handler for the camera packet. </p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000003">Deprecated:</a></b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="ae3577be27a8f314024f64feb9d09184f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCameraCollection.html">ArCameraCollection</a>* ArServerHandlerCamera::myCameraCollection</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Pointer to the camera collection (if any) </p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a62d84d39d59422be307cfa9ee8ae3114">ArServerHandlerCamera()</a>.</p>

</div>
</div>
<a class="anchor" id="a18eabe69114262f1a2af84a98959c19e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt;<a class="el" href="classArServerHandlerCamera.html">ArServerHandlerCamera</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *&gt; ArServerHandlerCamera::myCameraInfoCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Old (integer-style) handler for the cameraInfo packet. </p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000006">Deprecated:</a></b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a8491a736574e349f6368b34390a9dc7c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArServerHandlerCamera.html#a8214b7d46f1a140f848a4f6f68b09d9e">CameraMode</a> ArServerHandlerCamera::myCameraMode</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a105859903b51faac9f1e4ba6138c9927">buildModePacket()</a>, <a class="el" href="classArServerHandlerCamera.html#ae0a698b7a408b8f7c2c1634d916250c8">cameraModeLookAtGoal()</a>, <a class="el" href="classArServerHandlerCamera.html#ac6a197d3bd1b525c21b90d794d47ac63">cameraModeLookAtPoint()</a>, <a class="el" href="classArServerHandlerCamera.html#af4a7e9ac44a02ae36508b585c9db577a">cameraModePosition()</a>, <a class="el" href="classArServerHandlerCamera.html#ac7d32545dbeadb9e197556e36d24e650">userTask()</a>, and <a class="el" href="classArServerHandlerCamera.html#a27c7b5fcd78d65a799509fea63bd11a1">~ArServerHandlerCamera()</a>.</p>

</div>
</div>
<a class="anchor" id="a6467912e3786858a92ab770326e01c25"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::map&lt;<a class="el" href="classArServerHandlerCamera.html#a8214b7d46f1a140f848a4f6f68b09d9e">CameraMode</a>, std::string&gt; ArServerHandlerCamera::myCameraModeNameMap</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a105859903b51faac9f1e4ba6138c9927">buildModePacket()</a>, <a class="el" href="classArServerHandlerCamera.html#a7cda8840ec574257f175f9a9794f0761">handleGetCameraModeList()</a>, <a class="el" href="classArServerHandlerCamera.html#a2e11bc901cb4fdd7db15d99446cbb700">handleSetCameraMode()</a>, and <a class="el" href="classArServerHandlerCamera.html#a27c7b5fcd78d65a799509fea63bd11a1">~ArServerHandlerCamera()</a>.</p>

</div>
</div>
<a class="anchor" id="a32e4207d87172fcc516d1905c76e3905"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArNetPacket.html">ArNetPacket</a> ArServerHandlerCamera::myCameraModePacket</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a105859903b51faac9f1e4ba6138c9927">buildModePacket()</a>, <a class="el" href="classArServerHandlerCamera.html#ae0a698b7a408b8f7c2c1634d916250c8">cameraModeLookAtGoal()</a>, <a class="el" href="classArServerHandlerCamera.html#ac6a197d3bd1b525c21b90d794d47ac63">cameraModeLookAtPoint()</a>, <a class="el" href="classArServerHandlerCamera.html#af4a7e9ac44a02ae36508b585c9db577a">cameraModePosition()</a>, and <a class="el" href="classArServerHandlerCamera.html#ad79081e0f60ee5d865bbdb11df7a4dc4">handleCameraModeUpdated()</a>.</p>

</div>
</div>
<a class="anchor" id="a5c688d301dafd414d4fff4bc82213a55"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArServerHandlerCamera::myCameraName</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Unique name of the associated camera. </p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a1694aac881bf50fc64a601f3861ce246">getCameraName()</a>, <a class="el" href="classArServerHandlerCamera.html#a19ff9e98bdc1130052c85ed17cf7a76d">handleGetCameraInfo()</a>, and <a class="el" href="classArServerHandlerCamera.html#a2e11bc901cb4fdd7db15d99446cbb700">handleSetCameraMode()</a>.</p>

</div>
</div>
<a class="anchor" id="abbfe58d09e2ce5f2569ae5d56208aa5d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt;<a class="el" href="classArServerHandlerCamera.html">ArServerHandlerCamera</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *&gt; ArServerHandlerCamera::myCameraUpdateCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Old (integer-style) handler for the cameraUpdate packet. </p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000005">Deprecated:</a></b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a6db19b76d9149ab66679ff001b5fe420"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::map&lt;std::string, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2.html">ArFunctor2</a>&lt;<a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *&gt; *&gt; ArServerHandlerCamera::myCommandToCBMap</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Map of ArCameraCommand names to the callback that handles the packet. </p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a1694aac881bf50fc64a601f3861ce246">getCameraName()</a>, and <a class="el" href="classArServerHandlerCamera.html#a27c7b5fcd78d65a799509fea63bd11a1">~ArServerHandlerCamera()</a>.</p>

</div>
</div>
<a class="anchor" id="a30059e11580a9d9c1cf3e58006cf25df"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::map&lt;std::string, int&gt; ArServerHandlerCamera::myCommandToIntervalMap</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Map of ArCameraCommand names to the preferred default request interval. </p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a1694aac881bf50fc64a601f3861ce246">getCameraName()</a>.</p>

</div>
</div>
<a class="anchor" id="adfe8c76c208b95adfcc48fc4460d03e6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::map&lt;std::string, std::string&gt; ArServerHandlerCamera::myCommandToPacketNameMap</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Map of ArCameraCommand names to a unique network packet name. </p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#ae0a698b7a408b8f7c2c1634d916250c8">cameraModeLookAtGoal()</a>, <a class="el" href="classArServerHandlerCamera.html#ac6a197d3bd1b525c21b90d794d47ac63">cameraModeLookAtPoint()</a>, <a class="el" href="classArServerHandlerCamera.html#af4a7e9ac44a02ae36508b585c9db577a">cameraModePosition()</a>, and <a class="el" href="classArServerHandlerCamera.html#a1694aac881bf50fc64a601f3861ce246">getCameraName()</a>.</p>

</div>
</div>
<a class="anchor" id="a9c1bc3d35e2c99247c98150b9945afad"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPose.html">ArPose</a> ArServerHandlerCamera::myGoal</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a8202ba0aea95f81f2db27813ad653cd0">cameraModeLookAtGoalSetGoal()</a>, and <a class="el" href="classArServerHandlerCamera.html#ac7d32545dbeadb9e197556e36d24e650">userTask()</a>.</p>

</div>
</div>
<a class="anchor" id="a3131304e928beccb691c67f017031740"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerHandlerCamera::myGoalAchieved</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#ae0a698b7a408b8f7c2c1634d916250c8">cameraModeLookAtGoal()</a>, <a class="el" href="classArServerHandlerCamera.html#a99f4b712f775ff08b00debdc4def6953">cameraModeLookAtGoalClearGoal()</a>, <a class="el" href="classArServerHandlerCamera.html#a8202ba0aea95f81f2db27813ad653cd0">cameraModeLookAtGoalSetGoal()</a>, <a class="el" href="classArServerHandlerCamera.html#ac7d32545dbeadb9e197556e36d24e650">userTask()</a>, and <a class="el" href="classArServerHandlerCamera.html#a27c7b5fcd78d65a799509fea63bd11a1">~ArServerHandlerCamera()</a>.</p>

</div>
</div>
<a class="anchor" id="a5390321fe3d5f125eb1ba5069eee9da2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerHandlerCamera::myGoalAchievedLast</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#ae0a698b7a408b8f7c2c1634d916250c8">cameraModeLookAtGoal()</a>, <a class="el" href="classArServerHandlerCamera.html#a8202ba0aea95f81f2db27813ad653cd0">cameraModeLookAtGoalSetGoal()</a>, and <a class="el" href="classArServerHandlerCamera.html#ac7d32545dbeadb9e197556e36d24e650">userTask()</a>.</p>

</div>
</div>
<a class="anchor" id="a8f7115a557195543d55e6444db566728"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerHandlerCamera::myGoalResetZoom</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#ae0a698b7a408b8f7c2c1634d916250c8">cameraModeLookAtGoal()</a>, <a class="el" href="classArServerHandlerCamera.html#a8202ba0aea95f81f2db27813ad653cd0">cameraModeLookAtGoalSetGoal()</a>, and <a class="el" href="classArServerHandlerCamera.html#ac7d32545dbeadb9e197556e36d24e650">userTask()</a>.</p>

</div>
</div>
<a class="anchor" id="a43a08c015067daa104f1314e55968fb0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPose.html">ArPose</a> ArServerHandlerCamera::myLookAtPoint</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a105859903b51faac9f1e4ba6138c9927">buildModePacket()</a>, <a class="el" href="classArServerHandlerCamera.html#ac6a197d3bd1b525c21b90d794d47ac63">cameraModeLookAtPoint()</a>, and <a class="el" href="classArServerHandlerCamera.html#ac7d32545dbeadb9e197556e36d24e650">userTask()</a>.</p>

</div>
</div>
<a class="anchor" id="a98609fa3d4a6e6e9cf62bade9e71d6b6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a> ArServerHandlerCamera::myModeMutex</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#ae0a698b7a408b8f7c2c1634d916250c8">cameraModeLookAtGoal()</a>, <a class="el" href="classArServerHandlerCamera.html#a99f4b712f775ff08b00debdc4def6953">cameraModeLookAtGoalClearGoal()</a>, <a class="el" href="classArServerHandlerCamera.html#a8202ba0aea95f81f2db27813ad653cd0">cameraModeLookAtGoalSetGoal()</a>, <a class="el" href="classArServerHandlerCamera.html#ac6a197d3bd1b525c21b90d794d47ac63">cameraModeLookAtPoint()</a>, <a class="el" href="classArServerHandlerCamera.html#af4a7e9ac44a02ae36508b585c9db577a">cameraModePosition()</a>, <a class="el" href="classArServerHandlerCamera.html#ad79081e0f60ee5d865bbdb11df7a4dc4">handleCameraModeUpdated()</a>, <a class="el" href="classArServerHandlerCamera.html#a7cda8840ec574257f175f9a9794f0761">handleGetCameraModeList()</a>, <a class="el" href="classArServerHandlerCamera.html#ac7d32545dbeadb9e197556e36d24e650">userTask()</a>, and <a class="el" href="classArServerHandlerCamera.html#a27c7b5fcd78d65a799509fea63bd11a1">~ArServerHandlerCamera()</a>.</p>

</div>
</div>
<a class="anchor" id="aaf06079dd40b626f2eb508234c6a8261"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerHandlerCamera::myPointResetZoom</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#ac6a197d3bd1b525c21b90d794d47ac63">cameraModeLookAtPoint()</a>, and <a class="el" href="classArServerHandlerCamera.html#ac7d32545dbeadb9e197556e36d24e650">userTask()</a>.</p>

</div>
</div>
<a class="anchor" id="a9fe2016491575f7fa43c39f439273f89"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html">ArRobot</a>* ArServerHandlerCamera::myRobot</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Associated robot (primarily used for locking) </p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#affb38298001cf250cce7557bc24b3abe">cameraInfo()</a>, <a class="el" href="classArServerHandlerCamera.html#a76c689a525a92522ad317958b6753a41">cameraUpdate()</a>, <a class="el" href="classArServerHandlerCamera.html#ab6e668b1fb0899ba69174c8e7c27ca12">handleGetCameraData()</a>, <a class="el" href="classArServerHandlerCamera.html#a19ff9e98bdc1130052c85ed17cf7a76d">handleGetCameraInfo()</a>, <a class="el" href="classArServerHandlerCamera.html#aa460d19dd3c35eb20bed7d65c504a3a5">handleSetCameraAbs()</a>, <a class="el" href="classArServerHandlerCamera.html#a521583d50d34e3f88a9b39450e21ed43">resetCamera()</a>, <a class="el" href="classArServerHandlerCamera.html#a5c8b1aa0a0ef81e83c8e7e5718f6ed0f">setCameraAbs()</a>, <a class="el" href="classArServerHandlerCamera.html#a58277c7b38f68acae25f4daecbccbe85">setCameraPct()</a>, <a class="el" href="classArServerHandlerCamera.html#a2cb8a9178c1e83f572e7a8d86b575fe7">setCameraRel()</a>, <a class="el" href="classArServerHandlerCamera.html#ac7d32545dbeadb9e197556e36d24e650">userTask()</a>, and <a class="el" href="classArServerHandlerCamera.html#a27c7b5fcd78d65a799509fea63bd11a1">~ArServerHandlerCamera()</a>.</p>

</div>
</div>
<a class="anchor" id="aa4dd0512e3b5571ae39379ec62554fe4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArServerBase.html">ArServerBase</a>* ArServerHandlerCamera::myServer</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Server from which requests are received. </p>

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#ae0a698b7a408b8f7c2c1634d916250c8">cameraModeLookAtGoal()</a>, <a class="el" href="classArServerHandlerCamera.html#ac6a197d3bd1b525c21b90d794d47ac63">cameraModeLookAtPoint()</a>, <a class="el" href="classArServerHandlerCamera.html#af4a7e9ac44a02ae36508b585c9db577a">cameraModePosition()</a>, and <a class="el" href="classArServerHandlerCamera.html#a1694aac881bf50fc64a601f3861ce246">getCameraName()</a>.</p>

</div>
</div>
<a class="anchor" id="aed6813943f2c17da4fc718e02a2752f3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctorC.html">ArFunctorC</a>&lt;<a class="el" href="classArServerHandlerCamera.html">ArServerHandlerCamera</a>&gt; ArServerHandlerCamera::myUserTaskCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerHandlerCamera.html#a27c7b5fcd78d65a799509fea63bd11a1">~ArServerHandlerCamera()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="ArServerHandlerCamera_8h.html">ArServerHandlerCamera.h</a></li>
<li><a class="el" href="ArServerHandlerCamera_8cpp.html">ArServerHandlerCamera.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="classArServerHandlerCamera.html">ArServerHandlerCamera</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
